0
一个字段我有这样的查询:JOIN上一个表,其中不等于一个值
SELECT `A`.*, `LNK`.`act_id`, `LNK`.`remaining`, `U`.`username` as U_username
FROM (`anagrafiche` as A)
LEFT JOIN `lnk_ana-act` AS LNK ON `A`.`id` = `LNK`.`ana_id`
LEFT JOIN `users` AS U ON `A`.`uid` = `U`.`id`
WHERE (`LNK`.`act_id` != 57 OR `LNK`.`act_id` IS NULL) AND A.closed = '0'
LIMIT 10
此查询选择的所有字段,其中act_id不是57,导致在第一个表“anagrafiche”的几个重复。这样做显然是错误的,在这种情况下我应该怎么做?
谢谢
编辑澄清。
无论有多少个lnk_ana-act记录,我只需要第一个表的一条记录。更准确地说,有数千个记录lnk_ana-act表不等于act_id
!= 57,但我只需要一个“anagrafiche”表的唯一记录,无论连接表中有多少记录
你的预期结果是什么?你想获得哪些记录? – Marco
这是使用LEFT加入的要求吗?我的意思是你需要第一个表的行,即使他们的匹配行没有在第二个表中找到? – Zohaib
@Marco无论有多少个lnk_ana-act记录,我只需要第一张表的一条记录。 – 0plus1