[英]Using inner join and not in together in mysql
我有一個帶有默認用戶表和兩個自定義表的wordpress數據庫,如下所示
1. wp_users
| id | display_name |
|----|--------------|
| 1 | Ibbs |
| 2 | Nina |
| 3 | rakib |
2. wp_invite
| post_id | user_id | status |
|---------|---------|----------|
| 3342 | 1 | accepted |
| 3342 | 2 | accepted |
| 3342 | 3 | accepted |
3. wp_rating
| id | reviwer | reviewed | post | know | skill | time | comm |
|----|---------|----------|------|------|-------|------|------|
| 2 | 3 | 1 | 3342 | b | b | b | b |
| 5 | 1 | 2 | 2122 | a | c | d | a |
| 7 | 2 | 3 | 3342 | d | a | b | c |
我想select * from wp_invite where status = accepted
, display_name
從wp_users
然后要排除從結果,其中所有這三個條件滿足1行wp_invite.user_id
不等於wp_rating.reviewer
和2 wp_invite.user_id
是不等於wp_rating.reviewed
和wp_invite.post_id
不等於wp_rating.post
。
我想要的post = 3342
輸出post = 3342
, reviewer = 3
| user_id | display_name |
|---------|--------------|
| 2 | Nina |
| 3 | rakib |
我想要的post = 3342
輸出post = 3342
, reviewer = 2
| user_id | display_name |
|---------|--------------|
| 1 | Ibbs |
| 2 | Nina |
我想要的post = 2122
輸出post = 2122
, reviewer = 2
| id | display_name |
|----|--------------|
| 1 | Ibbs |
| 2 | Nina |
| 3 | rakib |
我想要的post = 2122
輸出post = 2122
, reviewer = 1
| id | display_name |
|----|--------------|
| 1 | Ibbs |
| 3 | rakib |
我嘗試了以下查詢,但我的輸出為空:
SELECT wp_invite.user_id, wp_users.display_name, wp_invite.post_id
FROM wp_invite
INNER JOIN wp_users ON wp_invite.user_id = wp_users.id
WHERE (status = 'accepted')
AND user_id NOT IN (SELECT reviewer FROM wp_rating)
AND user_id NOT IN (SELECT reviewed FROM wp_rating)
AND post_id NOT IN (SELECT post FROM wp_rating)
ID應該大寫:wp_invite.user_id上的內部聯接wp_users = wp_users。 ID
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.