如何取得left join的第二表中符合条件的第一条记录? 10
有表一tableAtidusernametitle1lily我公司将进行xx培训2angus关于秋游的通知3boss这个月不发奖金4vivi新产品上市表二tableBti...
有表一 tableA
tid username title
1 lily 我公司将进行xx培训
2 angus 关于秋游的通知
3 boss 这个月不发奖金
4 vivi 新产品上市
表二 tableB
tid time txt
1 0809 大家快来。。。。
2 0810 我是新来的,大家好
2 0810 我知道你是新来的。。。
4 0811 价格太贵啦。。。
我想取得相同tid下的tableA的title跟对应的tableB中符合条件的第一条txt记录结合起来使用
我用以下语句达不到效果
SELECT tableA.*, tableB.txt FROM tableA LEFT JOIN tableB ON tableA.tid = tableB.tid ORDER BY tableB.time DESC
注意:上面的tableB中有两条tid为2的记录,那么按我的要求只有前一条被提取。请高手帮忙
用是MYSQL
用left join 没问题,问题是当tableB中符合ON条件的项超过一项时,该如何实现只取第一条去与tableA匹配 展开
tid username title
1 lily 我公司将进行xx培训
2 angus 关于秋游的通知
3 boss 这个月不发奖金
4 vivi 新产品上市
表二 tableB
tid time txt
1 0809 大家快来。。。。
2 0810 我是新来的,大家好
2 0810 我知道你是新来的。。。
4 0811 价格太贵啦。。。
我想取得相同tid下的tableA的title跟对应的tableB中符合条件的第一条txt记录结合起来使用
我用以下语句达不到效果
SELECT tableA.*, tableB.txt FROM tableA LEFT JOIN tableB ON tableA.tid = tableB.tid ORDER BY tableB.time DESC
注意:上面的tableB中有两条tid为2的记录,那么按我的要求只有前一条被提取。请高手帮忙
用是MYSQL
用left join 没问题,问题是当tableB中符合ON条件的项超过一项时,该如何实现只取第一条去与tableA匹配 展开
2个回答
展开全部
不知道怎么产生的问题,ORACLE里面是不会取不到的。。
另外LEFT JOIN会把A中有B中没有的也全部显示出来啊,B没的字段用NULL表示。
你用的什么数据库,MSSQL的话是不是表A,B里面字段有text类型引起的~瞎猜了。
另外LEFT JOIN会把A中有B中没有的也全部显示出来啊,B没的字段用NULL表示。
你用的什么数据库,MSSQL的话是不是表A,B里面字段有text类型引起的~瞎猜了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
text类型真是强大啊引起无数问题- -我打死都不用他
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询