私は2つのテーブル、サンプルを持っています
sample_id status member_id
1 pass 2
2 pending 2
3 pending 2
4 pending 1
と投票
vote_id sample_id member_id
1 1 1
2 1 1
3 1 5
4 2 2
samples.sample_id
とはどちらvotes.vote_id
も自動インクリメントでありsamples.member_id
、 とvotes.member_id
を結合する必要がありますwhere samples.member_id=someUserId
。
samples.sample_id の結果セットを返したい
- samples.status は保留中です
- は
samples.member_id
サンプルを送信しませんでした - は
votes.member_id
サンプルに投票していません
例 1
たとえば、member_id
が 1 の場合、結果セットは次のようになります。
2
3
samples.status where samples.sample_id = 1
ではないのでpending
、samples.member_id
提出したsamples.sample_id
4.
例 2
が 2の場合member_id
、結果セットは
4
以来1-3samples.member_id
を提出しています。samples.sample_id
例 3
が 3の場合member_id
、結果セットは
2
3
4
samples.status where samples.sample_id = 1
ではないのでpending
編集 満たす必要がある3つの条件のうち、最初の条件は次のように満たすことができます
SELECT * FROM samples
LEFT OUTER JOIN votes on samples.sample_id = votes.vote_id
WHERE samples.status='pending'
しかし、私は他の2つの条件を満たすのに苦労しています