有这个MySQL查询MySQL查询设计需要帮助
SELECT CE.codreg, CO.id FROM table1 CE left join table2 CO ON CE.codreg=CO.registro ORDER BY CE.codreg ASC
我的问题是,表2中可以有一个CE.codreg多个行和需要选择只有具有最大CO.id的一个此行CE.codreg
我该怎么办?
有这个MySQL查询MySQL查询设计需要帮助
SELECT CE.codreg, CO.id FROM table1 CE left join table2 CO ON CE.codreg=CO.registro ORDER BY CE.codreg ASC
我的问题是,表2中可以有一个CE.codreg多个行和需要选择只有具有最大CO.id的一个此行CE.codreg
我该怎么办?
试试这个:
SELECT CE.codreg, CO.id
FROM table1 CE left join table2 CO ON CE.codreg=CO.registro
where CO.id=(select max(I.id) from table2 I where I.registro=CO.registro)
ORDER BY CE.codreg ASC
EDIT1
,如果你想行试试这个从表1即使在表2
SELECT CE.codreg, (select max(I.id) from table2 I where I.registro=CO.registro)
FROM table1 CE left join table2 CO ON CE.codreg=CO.registro
ORDER BY CE.codreg ASC
EDIT2
没有记录Edit1将为每个记录返回行table2,以避免这是另一种选择。
select CE.codreg, (select max(I.id) from table2 I where I.registro=CE.registro)
FROM table1 CE
ORDER BY CE.codreg ASC
EDIT3
试试这个:
select SELECT CE.codreg, CO.*
FROM table1 CE left join (select * from table2 I where I.id=(select max(I2.id) from table2 I2 where I2.registro=I.registro)) CO ON CE.codreg=CO.registro
ORDER BY CE.codreg ASC
看,这个问题是问,每天十几次。它有点无聊。 – Strawberry
看看我对Bushan评论的最后回复。 ;) – Hanzo
是的,Bhushan也会很好地阅读一些最近的类似帖子! – Strawberry