sql关联两个表的查询语句错误
表A,id和name表Bid,name,cp,date我想查询表A中最后一次购买红茶的,都有谁?SELECT*FROMAwhereIdin(SELECTid,MAX(da...
表A,id和name 表B id,name,cp,date我想查询表A中最后一次购买红茶的,都有谁?SELECT * FROM Awhere Id in (SELECT id,MAX(date) FROM B where Id=A.Id andcp like '%红茶%' GROUP BY Id)我写的这个语句 提示错误!!求求大神们,如何解决
我想查出的结果是张三和娃娃两人 展开
我想查出的结果是张三和娃娃两人 展开
4个回答
展开全部
SELECT * FROM A
where Id in (select ID from
(SELECT id,MAX(date) FROM B where Id=A.Id andcp like '%红茶%' GROUP BY Id) )
在你的语句上改的
ID in 两个字段 让数据库怎么搞。。。
where Id in (select ID from
(SELECT id,MAX(date) FROM B where Id=A.Id andcp like '%红茶%' GROUP BY Id) )
在你的语句上改的
ID in 两个字段 让数据库怎么搞。。。
追问
这个不行,我执行这个预计提示错误
追答
提示什么错误啊,改了还有其他错误 再解决其他错误啊。。。
我就是按你的sql改的
只是告诉你那个写法不对
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼主您好
子查询去掉Id=A.Id就好
SELECT * FROM A
where Id in (SELECT id,MAX(date) FROM B where cp like '%红茶%' GROUP BY Id)
子查询去掉Id=A.Id就好
SELECT * FROM A
where Id in (SELECT id,MAX(date) FROM B where cp like '%红茶%' GROUP BY Id)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from a where exitsts(select * from b where b.uid=a.uid and b.viewFlag=1 and b.EndDate>=getdate())>0) order by a.id desc
或者
select * from a inner join b on a.uid=b.uid
where b.viewflag=1 and b.endate>=getdate()
order by a.id desc
或者
select * from a inner join b on a.uid=b.uid
where b.viewflag=1 and b.endate>=getdate()
order by a.id desc
追问
这里B.viewfiag是啥 b.endate 分别是什么值?
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的写法的确不对
第二个表要按照id分组 然后找到最大时间的id才可以
第二个表要按照id分组 然后找到最大时间的id才可以
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询