2016-09-28 42 views
0
SELECT * FROM categories WHERE status = 1 

如果「services」表包含該特定類別標識的任何數據,我希望從類別中獲得結果。我在考慮Left join或類似的東西。有什麼建議麼? (我用PHP的BTW)如果綁定到另一個表中的類別標識的任何服務,則從表中獲取類別

+0

一個'左JOIN'聽起來是個好主意。問題是什麼? – jeroen

+0

Giorgos Betsos解決了這個問題。正是我需要的! – logiacer

+0

對錶中的每一行執行子查詢並不是非常有效;一個帶有IS NOT NULL檢查的JOIN可能是更好的解決方案。 – jeroen

回答

1

您可以使用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) 
+0

解決了我的問題。非常感謝! – logiacer

+0

@logiacer很高興我能夠提供幫助。如果它幫助你解決你的問題,請將它標記爲或接受任何其他答案。 –

相關問題