私は2つの異なるテーブルを持っています。1つはマッチ、もう1つはプレーヤーです。(テーブルから)とname
(から)を返すサブクエリを実行しようとしています。どちらか一方を返すことはできますが、両方を返すことはできません。players
matchno
matches
また、一部のクエリでエラーが返されます (workbench 6.0 の場合)
エラー コード: 1242。サブクエリが複数の行を返す
皮肉は私を殺している =)
これに関する私の論理は、正規化を使用しようとしていますplayerno
。
すなわち:
select name
from players
where playerno in
(select matchno
from matches
group by matchno)
これは、players テーブルから名前だけを返します。私はMySqlを初めて使用し、本とインターネットを精査しましたが、まだ壁に頭をぶつけています。どんな助けも大歓迎です!!! 前もって感謝します
結合とサブクエリを使用して機能するクエリを見つけました。
select m.matchno, p.name
from (matches as m inner join players as p
on m.playerno = p.playerno)