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