SELECT * FROM categories WHERE status = 1
「サービス」テーブルにその特定のカテゴリIDのデータがある場合は、カテゴリから結果を取得したいと思います。私はLeft joinやそれに類することを考えていた。助言がありますか?別のテーブルのカテゴリIDにバインドされたサービスがある場合は、テーブルからカテゴリを取得する
SELECT * FROM categories WHERE status = 1
「サービス」テーブルにその特定のカテゴリIDのデータがある場合は、カテゴリから結果を取得したいと思います。私はLeft joinやそれに類することを考えていた。助言がありますか?別のテーブルのカテゴリIDにバインドされたサービスがある場合は、テーブルからカテゴリを取得する
あなたはEXISTS
を使用することができます(私はところでPHPを使用):
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喜んで助けてくれました。あなたの問題を解決するのに役立ちましたら、これを記入してください。 –
A 'LEFT JOIN'は良いアイデアのように聞こえます。何が問題ですか? – jeroen
Giorgos Betsosが問題を解決しました。ちょうど私が必要なもの! – logiacer
テーブル内のすべての行に対してサブクエリを実行するのは効率的ではありません。 'IS NOT NULL'チェック付きの' JOIN'がおそらくもっと良い解決策になるでしょう。 – jeroen