質問

2つのテーブルがあります。そのうちの1つ(user_profileテーブル)には「user_profile_id」という名前のフィールドがあり、もう1つ(user_friendテーブル)には、最初のテーブルにfkである「user_profile1_id」と「user_profile2_id」という2つのフィールドがあります。

user_prideテーブルにないユーザーがuser_profile1_idではなく、user_profile2_idでもないユーザーがいるかどうかを確認したい。

どのクエリを使用する必要がありますか?

編集:

CREATE TABLE user_profile (
  --fields
)

CREATE TABLE user_friend (
  user_profile1_id INT,
  user_profile2_id INT
)
役に立ちましたか?

解決

使う LEFT JOIN null値を確認してください。何かのようなもの:

SELECT profile.* FROM user_profile profile
 LEFT JOIN user_friend friend1 ON friend1.user_profile1_id = user_profile_id
 LEFT JOIN user_friend friend2 ON friend2.user_profile2_id = user_profile_id
 WHERE friend1.user_profile1_id IS NULL AND friend2.user_profile2_id IS NULL

これがさまざまな結合へのリンクです

ライセンス: CC-BY-SA帰属
所属していません dba.stackexchange
scroll top