14歳の自分に衝撃の事実を告げてください

こんにちは、mysqlでJOINした後、値を取得したいのですが、
2つのテーブルに値があり、片方を指定して取得する方法がわかりません。
いろいろ調べてみたのですがわかりませんでした。
どなたかご存知の方がいたら教えてください。

c_diary テーブルと c_member テーブルには、両方にr_datetimeという列があります。
それを別々の変数に代入したいのですが、うまくいきません。

SELECT * FROM c_diary left join c_member on c_diary.c_member_id = c_member.c_member_id
$rs = mysql_query($sql);
while ($item = mysql_fetch_array($rs)) {
$c_diary_r_datetime = $item['c_diary.r_datetime'];
$c_member_r_datetime = $item['c_member.r_datetime']
echo $c_diary_r_datetime."/".$c_member_r_datetime;
}

とやっているのですが、値が入らず空白となってしまいます。
どなたか、解決法をご存知の方がいたら教えてください。

A 回答 (1件)

基本を理解していないですね?


SELECTで*は、テストレベル以外で使ってはいけません。

$sql="SELECT c_diary.r_datetime as c_diary_r_datetime
c_member.r_datetime as c_member_r_datetime
FROM c_diary left join c_member on c_diary.c_member_id =c_member.c_member_id"

と抽出するデータはユニークな名前になるよう別名をつけて列記します
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
助かりました、うまくいきました!

*使っちゃだめなんですね。
なんか個別に指定すると処理が遅くなるのではと勘違いしてました。
もっと勉強します。ありがとうございました!

お礼日時:2011/08/11 14:30

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


おすすめ情報