8

このクエリでエラーが発生しました:

SELECT i.name, i.surname, (SELECT u.username FROM user u WHERE u.info_id IN (1,9,10,15,25,40,42,43,44)) as email FROM `userinfo` i WHERE i.id IN (1,9,10,15,25,40,42,43,44)

エラー:

カーディナリティ違反: 1242 サブクエリが複数の行を返す

これは JOIN ステートメントを使用して解決できることは知っていますが、それを解決する方法がわかりません。

私の質問をより明確にするために、user と userinfo の 2 つのテーブルがあります。

ユーザー

id info_id username

ユーザー情報

id name surname 

からの info_id 行userは の ID に関連しているため、この形式 (1,4,7,8,9) のユーザー情報 ID のリストを持っているので、info_id と一致するuserinfo名前と姓 (からuserinfo) とユーザー名が必要ですuser

4

4 に答える 4

0

つまり:

SELECT i.name, i.surname, (SELECT u.username FROM user u WHERE u.id IN (1,9,10,15,25,40,42,43,44)) as email

FROM `userinfo` i

WHERE i.id IN (1,9,10,15,25,40,42,43,44)
于 2013-04-01T23:15:43.163 に答える