SELECT * FROM categories WHERE status = 1
如果「services」表包含該特定類別標識的任何數據,我希望從類別中獲得結果。我在考慮Left join或類似的東西。有什麼建議麼? (我用PHP的BTW)如果綁定到另一個表中的類別標識的任何服務,則從表中獲取類別
SELECT * FROM categories WHERE status = 1
如果「services」表包含該特定類別標識的任何數據,我希望從類別中獲得結果。我在考慮Left join或類似的東西。有什麼建議麼? (我用PHP的BTW)如果綁定到另一個表中的類別標識的任何服務,則從表中獲取類別
您可以使用EXISTS
:
SELECT c.*
FROM categories AS c
WHERE c.status = 1 AND EXISTS (SELECT 1
FROM services AS s
WHERE s.category_id = c.id)
解決了我的問題。非常感謝! – logiacer
@logiacer很高興我能夠提供幫助。如果它幫助你解決你的問題,請將它標記爲或接受任何其他答案。 –
一個'左JOIN'聽起來是個好主意。問題是什麼? – jeroen
Giorgos Betsos解決了這個問題。正是我需要的! – logiacer
對錶中的每一行執行子查詢並不是非常有效;一個帶有IS NOT NULL檢查的JOIN可能是更好的解決方案。 – jeroen