ここから本文です

テーブルの結合、同じテーブルを2回参照するやり方についてご教授ください。

アバター

ID非公開さん

2015/12/2612:33:34

テーブルの結合、同じテーブルを2回参照するやり方についてご教授ください。

「テーブルA(顧客データ)」
顧客ID
氏名
最寄駅ID①
最寄駅ID②

「テーブルB(駅マスタ)」
駅ID
駅名

上記のような2つのテーブルがあり、顧客データと駅マスタを結合したいです。

いろいろなネット上の情報など調べさせていただいて、SQL文は

SELECT 顧客ID, 氏名, S1.駅名, S2.駅名 FROM テーブルA
LEFT JOIN テーブルB AS S1 ON テーブルA.最寄駅ID = S1.駅ID
LEFT JOIN テーブルB AS S2 ON テーブルA.最寄駅ID = S2.駅ID

という形で結合すればいいのではないかと思いあたりました。

XAMPPのphpMyAdminのコンソールで上記のSQL文を実行すると、思ったような結果が得られるのですが、結果のカラム名のところが
「顧客ID」「氏名」「駅名」「駅名」
となっていて、駅名のところが同じカラム名で結果が返ってきます。

PDOを使ってデータベースにアクセスしているのですが、PHPでの記述はどのようにすればよいのでしょうか?
下記のように記述してみたのですがうまくいきません。。。

while($row = $stmh->fetch(PDO::FETCH_ASSOC)){

print $row['顧客ID'];
print $row['氏名'];
print $row['S1.駅名'];
print $row['S2.駅名'];

print "<br>";
}

そもそも結合のしかたからして間違えているのでしょうか???

よろしくお願いします。

閲覧数:
338
回答数:
1
お礼:
250枚

違反報告

ベストアンサーに選ばれた回答

2015/12/2612:37:03

SELECT 顧客ID, 氏名, S1.駅名 AS 駅名1, S2.駅名 AS 駅名2 FROM

とかでどうだね??

  • アバター

    質問者

    ID非公開さん

    2015/12/2613:05:38

    おぉ!バッチリです!
    そこに「AS」を入れるのですね。

    ありがとうございます~!

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問や知恵ノートは選択されたID/ニックネームのMy知恵袋で確認できます。