mysql两张表的数据查询

我有两张表,两张表table1和table2靠id关联,其中table1有一个字段a和更新时间b,tablse2有一个字段c,d(d值为1,2,3中一个),当d=1时,两... 我有两张表,两张表table1和table2靠id关联,其中table1有一个字段a 和更新时间b,tablse2有一个字段c,d(d值为1,2,3中一个),当d=1时,两张表中的a和c都相等的话就取更新时间最近的数据,我写了一个sql是对的,
SELECT id FROM (SELECT * FROM table1 ORDER BY b DESC )c
GROUP BY a,(SELECT c FROM table2
AS d WHERE d=1 AND d.id=c.id)可是程序不支持这种sql语句,希望有知道的朋友帮下忙,谢啦,解决的我会加分的
展开
 我来答
nietiezheng
2012-07-25 · TA获得超过5536个赞
知道大有可为答主
回答量:3132
采纳率:87%
帮助的人:1235万
展开全部
你的语句是错的,试试这个:

select id
from table1 T
where b= (select max(b) from table1 T1, table2, T2 where T2=1 and T1.a=T2.c and T.a=T1.a group by T1.a)
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiaotingsalang
2012-07-25
知道答主
回答量:11
采纳率:0%
帮助的人:4万
展开全部
SELECT t1.id FROM table1 as t1, table2 as t2 WHERE t2.d=1 AND t1.a = t2.c ORDER BY t1.d DESC
我没有相应的表可以测试 你可以试一下
追问
。。。你给的是两张表的关联,我还要去除重复得数据。。。
追答
可以在SELECT 后面的 t1.id 加上DISTINCT
SELECT DISTINCT t1.id FROM table1 as t1, table2 as t2 WHERE t2.d=1 AND t1.a = t2.c ORDER BY t1.d DESC
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
少女心Eve
2012-07-25 · 记录美好生活每一天,分享生活新鲜事。
少女心Eve
采纳数:590 获赞数:714

向TA提问 私信TA
展开全部
select oo.a,oo.b,pp.* from table1 oo,table2 pp where oo.a = pp.c and pp.d = 1 order by oo.b desc;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
知识阅历积累历程

2012-07-25 · 影视爱好者、游戏达人、IT 男
知识阅历积累历程
采纳数:10964 获赞数:6547

向TA提问 私信TA
展开全部
select * from table1 inner join table2 where table2.d=1 and table2.c=table1.a
按你说的要求,这样肯定行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式