我有以下SQL查詢:簡化/複用子查詢
SELECT "users".* FROM "users"
WHERE (
users.id IN (SELECT manager_id FROM managerships WHERE managerships.employee_id = 1234) OR
users.custom_id IN (SELECT manager_custom_id FROM managerships WHERE managerships.employee_id = 1234) OR
users.saml_id IN (SELECT manager_saml_id FROM managerships WHERE managerships.employee_id = 1234) OR
users.email IN (SELECT manager_email FROM managerships WHERE managerships.employee_id = 1234)
)
現在,我認爲應該有一個辦法只有從我managerships
表中選擇一次,並重新使用它,是這樣的:
SELECT manager_id, manager_email, manager_custom_id, manager_saml_id FROM managerships WHERE managerships.employee_id = 1234
我該如何做到這一點?謝謝!
謝謝你,蒂姆!我採取了你的方法,它效果很好。我只需要對結果進行「分組」即可獲得唯一的條目。 –