電子書籍の厳選無料作品が豊富!

データーベースが下記の様にあります、
PHPファイル内で、
この様なSQLを実行して下記の様にprintしてみましたが、
tie_upの部分、AIRとしか表示されません。
このPHPファイル内のprint($row['tie_up']);部分が怪しそうですが、
解決策が思いつきません。

もちろん、外部キーの設定も済んでいます。

--下記、SQL文--
SELECT *
FROM ((((( song left JOIN kashu ON song.kashu_ID = kashu.kashu_ID)
left JOIN sakushi ON song.sakushi_ID = sakushi.sakushi_ID)
left JOIN sakkyoku ON song.sakkyoku_ID = sakkyoku.sakkyoku_ID)
left JOIN hennkyoku ON song.hennkyoku_ID = hennkyoku.hennkyoku_ID)
left JOIN tie_up ON song.tie_up_1_ID = tie_up.tie_up_ID)
LEFT JOIN tie_up ti2 ON song.tie_up_2_ID = ti2.tie_up_ID
--SQL文、終わり--

--下記、phpファイル内のprint文--

while ($row = mysql_fetch_assoc($result)) {
print($row['tie_up']);
}

--print文、終わり--


--データベース--

song
+-----------+--------------------+--------------------+--------------------+
| ID   | song_name | tie_up_1_ID | tie_up_2_ID |
+-----------+--------------------+--------------------+--------------------+
| 0   | 鳥の詩    | 0       | 0      |
+-----------+--------------------+--------------------+--------------------+
| 1   | 青空     | 1       | 0      |
+-----------+--------------------+--------------------+--------------------+

tie_up
+----------------+--------------------+------------------------+
| tie_up_ID | tie_up    | tie_up_yomi  |
+----------------+--------------------+------------------------+
| 0     | AIR     | エアー      |
+----------------+--------------------+------------------------+
| 1     | CLANNAD  | クラナド     |
+----------------+--------------------+------------------------+

--データベース、終わり--

A 回答 (1件)

もし本当に



>SELECT *
としているのであれば、必要カラムを明示的に列記すべき
今回の件であればtie_upテーブルを二重にjoinしていますので名称が競合していませんか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!