1

さて、私はstackoverflow全体を見ようとしましたが、私が見つけた最も近い解決策はこれです: 同じ列にmysql AND句を複数回

しかし、ステートメントを使用することはできず、group by のために「having」構文は機能しません。これには簡単な解決策が必要です。

2 つのテーブルは次のようになります (簡略化)。

ユーザー:

uid  name
1    person 1
2    person 2
3    person 3

カテゴリ:

uid  value
1    actor
1    musician
2    actor
3    dancer
4    musician
4    dancer

同時に2つの値であるもののuidを取得したい。たとえば、俳優とミュージシャンの UID を取得したいとします。1 つの値だけでなく、両方が必要です。

最初にこれを試しました:

SELECT users.uid, users.name 
FROM 
users
LEFT OUTER JOIN categories ON users.uid = categories.uid
WHERE (categories.value = 'actor' AND categories.value = 'musician')
GROUP BY u.uid;

1 つの行に 2 つの値を含めることはできないため、これはもちろん機能しません。

誰かが解決策を知っていますか?

4

4 に答える 4