获取具有相同ID和初始ID的所有记录(第二列)在MySQL中

时间:2016-09-08 14:52:33

标签: php mysql database web

在我的一个项目中,我需要从一个表中检索最新版本的记录,其中id可能与名为initial_id的第二个表匹配。像这样,

  • id 1 AND initial_id NULL //(相同1)
  • id 2 AND initial_id 1 //(相同1)
  • id 3 AND initial_id 1 //(相同1)
  • id 4 AND initial_id 2 //(same1)
  • id 5 AND initial_id 4 //(同样1)
  • id 6 AND initial_id NULL //(同样2)
  • id 7 AND initial_id NULL //(同样3)
  • id 8 AND initial_id 7 //(同样3)

在这种情况下,我的SELECT(带有一些subquerys)应检索这些记录,因为它们是每个记录的最新版本:

  • id 5 AND initial_id 4
  • id 6 AND initial_id NULL
  • id 8 AND initial_id 7

获得前三个(id 1,id 2和id 3)非常容易,因为initial_id基于第一个id,但其他的更难...

希望我足够清楚。 请帮帮我。谢谢!

更新 这是我到目前为止的查询:

SELECT a.id from table_a a WHERE a.id = (SELECT aa.id from table_a aa WHERE aa.id = a.id OR aa.initial_id = a.id ORDER BY aa.id DESC LIMIT 1)

0 个答案:

没有答案