テーブルA
ID 依頼者 代理者
1 0001 0002
2 0001 0005
3 0004 0003
テーブルB
従業員ID 名前
0001 佐藤
0002 中村
0003 林
0004 高橋
0005 田中
このとき、テーブルAを素にして外部結合して
依頼者番号の欄には名前を入れるSQLを作りたいと思います。
外部結合をSQLで
SELECT 依頼者,代理者
FROM テーブルA
LEFT JOIN テーブルB ON テーブルA.依頼者 = テーブルB.従業員ID
と行い、『依頼者』については、テーブルBから名前を引っ張ってこれたのですが、『代理者』列についても、テーブルBから名前を引っ張ってこれるようにしたいと思います。
色々試しましたが、分かりません。
お知恵をお貸しいただけると、嬉しいです。
どうぞ、よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
なぜPHPの質問?
別名をつければいけませんか?
SELECT 依頼者,B1.名前 AS 依頼者名,代理者,B2.名前 AS 代理者名
FROM テーブルA AS A
LEFT JOIN テーブルB AS B1 ON A.依頼者 = B1.従業員ID
LEFT JOIN テーブルB AS B2 ON A.依頼者 = B2.従業員ID
この回答への補足
↓下記のお礼後、早速別名をつけて行ったところうまく行きました!
テーブルの別名で『AS』をつけるとうまくいかず…代わりにブランク
を空けてあげるとうまく行きました。(データベースによって変わるのかな?)
親切な回答とても感謝しています。
ありがとうございました。
すみません、説明不足でした。
SQLで抽出したものをPHPで表示させるようにしてます。
SQLの質問というカテゴリが無かったような気がしたので
すみません。
アドバイスありがとうございます!
別名ですね。早速やってみます!
No.1
- 回答日時:
2重に外部結合ではいかがでしょうか?
対応のDBによっては直接出来ないかも知れませんが、
SELECT 依頼者, 名前, 代理者, 名前
FROM (
SELECT 依頼者,代理者
FROM テーブルA
LEFT JOIN テーブルB ON テーブルA.依頼者 = テーブルB.従業員ID ) テーブルC
JOIN テーブルB ON テーブルC.代理者 = テーブルB.従業員
と言うような。
もっとスマートの解決法があれば、私も知りたいところです。
二重に外部結合は試して色々模索したのですが
うまく行きませんでした。
ですが、kuma_vi_maさんが書いてくれた例はまだ行ってませんので
やってみます!
ありがとうございます!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- Oracle 下記のsqlで取得されるレコード以外を取得する方法ありますでしょうか。 SELECT B.番号, B 2 2022/04/20 23:21
- Oracle SQL update方法 2 2022/06/22 14:07
- Oracle sqlのupdate文で質問です。 テーブルBの番号をキーにテーブルAの身長をテーブルBの身長に更新 2 2022/11/02 15:15
- PostgreSQL postgreSQL カラムの全ての値を取得したい 3 2022/10/07 12:33
- Oracle sqlで質問です。 aテーブルとbテーブルがあり、下記のsqlで取得したidとnameに一致しないレ 1 2022/04/20 20:34
- Oracle sqlで質問です。 Aテーブルの登録番号をキーにBテーブルから確認番号を取得したいのですが、Bテーブ 4 2023/05/18 13:08
- Oracle 質問です。 下記のテーブルとデータがあり、 取得想定結果のように出力したいです。 下記のsqlだと0 2 2023/05/23 19:10
- PHP MySql PHP 2つのテーブルをJOINで結合 user_idで抽出 1 2023/01/03 14:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
トランザクション処理
-
クエリObjectをforeachで回す時...
-
MySQLでデータベースにデータin...
-
SQLで返り値が空とでる
-
変数にNULLを代入したい
-
カラムにデータがあるかないか...
-
PHPでいいね機能を作りたいので...
-
予約システムを作りたい
-
エクセルVBAについて
-
VBAをつかってクエリの情報を抽...
-
実行時エラー3131 FROM 句の構...
-
PHP + MySQLを使用して詳細画面...
-
PHPでMY SQLの連想配列をリンク...
-
php データ削除
-
phpでmysqlを使ってデータベー...
-
SQLインジェクション対策
-
アラートでyes noを作りたいです。
-
Q&Aサイトを作成していてURLの...
-
SQLのSUM関数で取得した値を参...
-
連想配列、オブジェクト配列の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MySQLでデータベースにデータin...
-
変数にNULLを代入したい
-
phpにて出欠登録管理を作成して...
-
phpでテーブルを作る際変数によ...
-
csvをDBへ読み込んだら、NULLが...
-
SQLで返り値が空とでる
-
ヒアドキュメントでSQLを書く事...
-
php sqlite count 列数取得
-
OracleからAccessへのインポート
-
変数を組み入れたい
-
日またぎの計算
-
Accessへ日付をINSERT
-
任意の値の取得
-
クエリObjectをforeachで回す時...
-
PHPでいいね機能を作りたいので...
-
会員番号等に利用するダブらな...
-
PHP PDOを利用してカラムの削除...
-
SQL CASE 文について
-
phpを使用し、カテゴリー別に表...
-
トランザクション処理
おすすめ情報