今、私は参加を始めたばかりなので、おそらくそれについてのコアな理解が欠けていますが、これが私がやりたいことです:
プロファイルを含むテーブルと、profile_id、いくつかの無関係なデータ、およびvalue_id(1対1の関係)を含むいくつかのテーブル(役割、スキル、役職など)があります。
ユーザーはさまざまなvalue_idの配列を入力し、ユーザーから取得したものと一致するvalue_idを持つ対応するテーブルを持つすべてのプロファイルのIDを取得したいと思います。
入力の一部の値は、特定のテーブル(この場合は役割と業界)とのみ一致するように指定されており、その部分は現在機能しています。しかし、私ができなかったことは、関連するテーブルのいずれかに一致するものがあるかどうかを確認することでした。
このSQLブロックのスタイルを設定する方法がわかりません。ごめん。編集:それはそれ自身をスタイリングしました。きちんとした。
この例では、3つの値があります。1つ(88)は特定の役割を検索するために指定され、1つは業界(128)用であり、3つ目(73)はテーブルのセットの少なくとも1つの行と一致する必要があります。
SELECT DISTINCT(profiles.id) as id,
FROM profiles
INNER JOIN profile_experience_roles r ON(r.profile_id = profiles.id)
INNER JOIN profile_experience_industries i ON(i.profile_id = profiles.id)
INNER JOIN profile_experience_technology t ON(t.profile_id = profiles.id)
INNER JOIN profile_wanted_roles w ON(w.profile_id = profiles.id)
INNER JOIN profile_languages l ON(l.profile_id = profiles.id)
WHERE r.value_id = 88 AND i.value_id = 128 AND
(r.value_id = 73 OR i.value_id = 73 OR t.value_id = 73 OR w.value_id = 73 OR l.value_id = 73)
最後の行は、問題の原因です。どんな助けでも大歓迎です。
また、これまでここに投稿したことがないので、何をしているのかわかりません。
ありがとう