前提・実現したいこと
SQLでJOINしたいです。
JOINする値に、同じものが複数あります。
例
tableA
ID | 名前 | 番号 |
---|---|---|
1 | りんご | A |
2 | めろん | B |
3 | バナナ | C |
4 | いちご | D |
tableB
ID | 番号 | 産地 | 日付 |
---|---|---|---|
1 | A | 大阪 | 5/8 |
2 | A | 大阪 | 6/10 |
3 | B | 京都 | 6/12 |
4 | D | 奈良 | 6/15 |
5 | C | 滋賀 | 7/8 |
6 | B | 京都 | 7/20 |
この表を番号でJOINして
ID | 名前 | 番号 | 産地 |
---|---|---|---|
1 | りんご | A | 大阪 |
2 | めろん | B | 京都 |
3 | バナナ | C | 滋賀 |
4 | いちご | D | 奈良 |
という風な表にしたいです。
該当のソースコード
SELECT tableA.* , tableB.産地 FROM table LEFT JOIN tableB ON tableA.番号 = tableB.番号
発生している問題
現在、上記のソースコードでは、SQLがうまく動かず、
値をひとつもとってきません。
補足情報(FW/ツールのバージョンなど)
使用しているのは、レンタルサーバーのPHPMyadminのMysqlです。
バージョン情報: 4.8.4
同じSQLでもデータベースやそのバージョンによって方言が大きいですから、どのデータベースを使うのかを質問のタグで明示したり、バージョンも明記した方が適切なコメントが付き易いです。
「できますか?」という質問だと「できます」だけの回答になりますがよろしいですか?
自身が何かしら調べて検証して実現できていないのでしたら、その試行錯誤されている状況を具体的に記載してください。
※厳密にはJOINはSQLでするもなので「PHPではできない」が回答ですが
サーバーはレンタルサーバーなのですが、バージョンや、データベースの種類? などは、
知識不足でよくわかりません。
すみません。
PHPタグは外しておいてください。
レンタルサーバーであればおそらくデータベースを操作する管理画面(例えばphpMyAdminなど)があるはずです。phpMyAdminであればMySQLかMariaDBなのは確定ですが。バージョンもその管理画面のトップにあると思います。
追記されたSQLには問題無さそうですけど。
省略しすぎて、問題の箇所まで省略されているのかもしれません。
データに問題があるのかもしれませんし、確認されているのがPHPを介したものであったりしませんか?
再現できる状態の質問にされて下さい。
回答3件
あなたの回答
tips
プレビュー