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)我写的这个语句 提示错误!!求求大神们,如何解决
我想查出的结果是张三和娃娃两人
展开
 我来答
一如真a
2016-06-14 · TA获得超过369个赞
知道小有建树答主
回答量:666
采纳率:75%
帮助的人:339万
展开全部
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 两个字段 让数据库怎么搞。。。
追问
这个不行,我执行这个预计提示错误
追答
提示什么错误啊,改了还有其他错误 再解决其他错误啊。。。
我就是按你的sql改的
只是告诉你那个写法不对
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
康熙转世
2016-06-14 · TA获得超过6839个赞
知道大有可为答主
回答量:4325
采纳率:85%
帮助的人:2906万
展开全部
楼主您好
子查询去掉Id=A.Id就好
SELECT * FROM A
where Id in (SELECT id,MAX(date) FROM B where cp like '%红茶%' GROUP BY Id)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
在晴天的雨伞
2016-06-14 · TA获得超过6869个赞
知道大有可为答主
回答量:5761
采纳率:86%
帮助的人:1190万
展开全部
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
追问
这里B.viewfiag是啥    b.endate 分别是什么值?
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liuqi740924
2016-06-14 · 超过37用户采纳过TA的回答
知道小有建树答主
回答量:169
采纳率:0%
帮助的人:60.3万
展开全部
你的写法的确不对
第二个表要按照id分组 然后找到最大时间的id才可以
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式