菜鸟求助,请问下面这个SQL语句怎么写呢?

qq_28859743 2015-06-08 05:27:06
在数据库中有表A和表B。
表A中有name, type, content, img 四列。
表B中有img, imgUrl两列。

如:
表A
name type content img
李可 2 abcd
付军 2 cdef
李好 1 ghijk 356.jpg
李好 2 lmno

表B中为
img imgUrl
356.jpg www.xxx.com/img/26/356.jpg
789.jpg www.xxx.com/img/38/789.jpg

在表A中,type为1时,后面的img列是有值的,为2的话,img中是没有值的。

现在我想把姓名为李好的 name type content img imgUrl找出来,找出来的结果应该是
name type content img imgUrl
李好 1 ghijk 356.jpg www.xxx.com/img/26/356.jpg
李好 2 lmno

请问该怎么样写这个SQL语句呢?
...全文
119 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_28859743 2015-06-08
  • 打赏
  • 举报
回复
不好意思,解决了。是我保存sql语句的字符数组长度不够。数组定长一点就可以了,谢谢楼上的两位。等会就结贴。
Cherise_huang 2015-06-08
  • 打赏
  • 举报
回复

select 
	A1.name,
	A1.[type],
	A1.content,
	A1.img,
	B1.imgURL, 
	A1.[time]
from A1 as A1 ,B1 as B1 where A1.[name]='李好' and A1.img=B1.imgUrl order by A1.[time] asc
Cherise_huang 2015-06-08
  • 打赏
  • 举报
回复
条件应该是A.img=B.img吧?
qq_28859743 2015-06-08
  • 打赏
  • 举报
回复
引用 1 楼 ky_min 的回复:
SELECT A.*,B.imgUrl FROM A LEFT JOIN B ON A.img=B.img WHERE A.[name]='李好'
我把order by去年后发现就没问题。也就是下面这样写是没问题的。 SELECT A.name, A.type, A.content, A.img, A.time, B.imgUrl FROM A LEFT JOIN B ON A.img=B.imgUrl Where name='李好'; 但我想排序,怎么样写呢?
Cherise_huang 2015-06-08
  • 打赏
  • 举报
回复

select 
	A1.name,
	A1.[type],
	A1.content,
	A1.img,
	B1.imgURL 
from A1 left join B1 on A1.[name]='李好'
qq_28859743 2015-06-08
  • 打赏
  • 举报
回复
引用 1 楼 ky_min 的回复:
SELECT A.*,B.imgUrl FROM A LEFT JOIN B ON A.img=B.img WHERE A.[name]='李好'
我是参照你的写的,怎么在VC中调用 的时候有运行时错误呢?另外我读的数据库是sqlite。 我的语句是这样的:name type content img SELECT A.name, A.type, A.content, A.img, A.time, B.imgUrl FROM A LEFT JOIN B ON A.img=B.imgUrl Where name='李好' order by A.time asc; 我的比你的多选了一个time列,并且以time列排序。请问为什么会出现错误呢?谢谢!
还在加载中灬 2015-06-08
  • 打赏
  • 举报
回复
SELECT A.*,B.imgUrl
FROM A
LEFT JOIN B ON A.img=B.img
WHERE A.[name]='李好'

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧