質問: メインテーブル.項目2; ``` ですとNULLが返って来てしまい困っています。 OR文で2行を取得しSELECTの指定でどうにかするのかなと思い色々試しているのですがうまくいきません。 初歩的なことかもしれませんがどうぞ宜しくお願いいたします。
回答: できるかできないかで言えば可能です。 ※ 誤った回答をあげてないので実装方法はあまりよくない方法で ``` SELECT メイン.名前, MAX(SELECT IF(動物.ID = メイン.項目1,動物.項目, NULL) FROM 動物 ) AS 項目1, MAX(SELECT IF(動物.ID = メイン.項目2,動物.項目, NULL) FROM 動物 ) AS 項目2 FROM メイン GROUP BY メイン.名前 ``` で MYSQLだと行けると思います。w commentですがでたので =============== ``` SELECT メインテーブル.名前, 動物1.項目, 動物2.項目 FROM メインテーブル LEFT JOIN 動物 動物1 ON 動物1.id = メインテーブル.項目1 LEFT JOIN 動物 動物2 ON 動物2.id = メインテーブル.項目2 ``` のようになります。 横に項目が続くのであればその行数分必要になります。