Mysql一对一或多连接

时间:2016-04-19 10:11:20

标签: mysql join one-to-many right-to-left

我知道有很多问题接近这个问题,但是没有问题解决了我的问题。

假设我有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它。

2 个答案:

答案 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`