我知道有很多问题接近这个问题,但是没有问题解决了我的问题。
假设我有2个表格,TableA和TableB
TableA具有:id和name
TableB具有:id,TableA_id和日期
我希望用TableB IF的最新记录获得TableA LEFT JOIN。
SELECT `TableA`.`id` AS `TableA_ID`, `TableB`.`id` AS `TableB_ID`
FROM `TableA`
LEFT JOIN TableB` ON `TableA`.`id` = `TableB`.`id`
即使表b中没有任何内容可以加入,我也想要TableA字段。 如果有什么要从TableB加入,那么我想要最新的。
我知道这可以用子查询来完成,但我想知道是否有办法LEFT JOIN它。
答案 0 :(得分:0)
select a.id,b.id from tableA a left join tableB b on a.id = b.id
order by b.id desc
答案 1 :(得分:0)
我不确定mysql中的正确语法是什么,但在mssql中它看起来如下所示
SELECT `TableA`.`id` AS `TableA_ID`, `new_table_b`.`id` AS `TableB_ID`
FROM `TableA`
LEFT JOIN (select id, max(date) from tableB group by id) new_table_b ON `TableA`.`id` = `new_table_b`.`id`