テーブル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.1
- 回答日時:
2重に外部結合ではいかがでしょうか?
対応のDBによっては直接出来ないかも知れませんが、
SELECT 依頼者, 名前, 代理者, 名前
FROM (
SELECT 依頼者,代理者
FROM テーブルA
LEFT JOIN テーブルB ON テーブルA.依頼者 = テーブルB.従業員ID ) テーブルC
JOIN テーブルB ON テーブルC.代理者 = テーブルB.従業員
と言うような。
もっとスマートの解決法があれば、私も知りたいところです。
二重に外部結合は試して色々模索したのですが
うまく行きませんでした。
ですが、kuma_vi_maさんが書いてくれた例はまだ行ってませんので
やってみます!
ありがとうございます!
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の質問というカテゴリが無かったような気がしたので
すみません。
アドバイスありがとうございます!
別名ですね。早速やってみます!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
csvをDBへ読み込んだら、NULLが...
-
MySQLでデータベースにデータin...
-
【PHP】PDOでのMysqlから値を取...
-
phpにて出欠登録管理を作成して...
-
cakephpでコントローラー名と異...
-
Accessへ日付をINSERT
-
PHPで[]の使い方について
-
phpで複数の検索語を検索対象に...
-
実行時エラー3131 FROM 句の構...
-
VBAをつかってクエリの情報を抽...
-
phpのupdate,sql文にて連番カラ...
-
MySQLにHTMLタグを挿入したい
-
テーブルの最後のレコードしか...
-
VBA ACCESS SQL...
-
JAVA SQLServerException 列名 ...
-
テキストボックスに入れた内容...
-
DBで検索結果に該当するデータ...
-
mysql_insert_id()の使い方
-
<VB.NET>INSERT文でDBにデータ...
-
php postgres Insert と updat...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MySQLでデータベースにデータin...
-
DB Error: no such field
-
csvをDBへ読み込んだら、NULLが...
-
php sqlite count 列数取得
-
日またぎの計算
-
PHPとMySQLで掲示板を作っています
-
MDB2エラーが対応出来ません。
-
Int型のフィールドへのNULLを入...
-
MySqlのテーブルのサイズを取得...
-
変数にNULLを代入したい
-
エクセルをMysqlに格納
-
PHPでmySQLのテーブルを作成したい
-
MySQLの一部を、計算した後に表...
-
SQLで返り値が空とでる
-
重複データをカウントするのに...
-
SQL CASE 文について
-
どちらが高速ですか?
-
Accessへ日付をINSERT
-
SQLのUPDATE文につい...
-
phpにて出欠登録管理を作成して...
おすすめ情報