• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQLのSELECT文教えてください。)

SQLのSELECT文で効率的に担当名を抽出する方法は?

このQ&Aのポイント
  • VB5.0のDBはSqlServer2000を使用している場合、次のSQL文でTANTO_TABLEからA_TABLEの担当コード1と担当コード2の担当名を抽出することができます。
  • しかし、このSQLでは担当コード1のみが抽出されます。担当コード1と2の担当名を効率良く抽出する方法を教えてください。
  • お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#89342
noname#89342
回答No.4

こういうことでは? SELECT  (select tb.担当名 from TANTO_TABLE tb where tb.担当コード=ta.担当コード1) as 担当名1,  (select tc.担当名 from TANTO_TABLE tc where tc.担当コード=ta.担当コード2) as 担当名2 FROM A_TABLE ta; ベタだけど (^^;

torikokko
質問者

お礼

レスが遅れて申し訳ありません。 うまく行きました。 ありがとう御座いました。

その他の回答 (3)

  • nonchi
  • ベストアンサー率43% (16/37)
回答No.3

こういうこと? SELECT  N1.担当名 AS 担当者氏名1,  N2.担当名 AS 担当者氏名2 FROM TANTO_TABLE N1 LEFT OUTER JOIN TANTO_TABLE N2 ON (A_TABLE.担当コード2 = N2.担当コード) WHERE A_TABLE.担当コード1 = N1.TANTO_TABLE.担当コード

torikokko
質問者

お礼

参考にします。ありがとうございました。

noname#4564
noname#4564
回答No.2

  Inner Join, Left Join, Right Join に関しては、SQL Server 2000でもJetでも、ほぼおなじ文法が使えますので、Accessのクエリーデザイン(QBE)でも使ってご希望の形を作ってください。 それを、クエリーアナライザなり、エンタープライズマネージャなりのツールでデバッグし、必要な箇所を手直ししてコピペすればOKです。 ・・・失礼ですが、こんな程度のこともできないのに、よく給料がもらえますね。(感心)  

torikokko
質問者

お礼

ご指導ありがとうございました。

  • teiou68k
  • ベストアンサー率28% (202/721)
回答No.1

ごめんなさい。何がしたいのかよくわかりません。 1.A_TABLEの構成は?    いくつかフィールドがあり、その中の二つが「担当コード1」と    「担当コード2」と言うことですか? 2.A_TABLEの仕様    上記が私の思惑通りだったとして、1と2の違いは? 3.SELECTしたい内容    取ってきたいのが「担当名」と言うことはわかりましたが、いったい    どういう意図で担当名を取りたいのでしょう? 例えば・・・(等ピッチで見てください) A_TABLE                 TANTO_TABLE +--------------+--------------+     +--------+------------+ | 担当コード1 | 担当コード2 |     | 担当名 | 担当コード | +--------------+--------------+     +--------+------------+ |      1 |      3 |     | 田中  |     1 | |      2 |      1 |     | 山本  |     2 | |      3 |      2 |     | 鈴木  |     3 | |      4 |      4 |     | 原田  |     4 | という状態だったとして、あなたがしたいのはどういう事ですか? 田中 鈴木 山本 田中 鈴木 山本 原田 原田 を返してほしいのですか?

torikokko
質問者

補足

説明不足だったみたいです。ごめんなさい。 1.その通りです。   項目は他にもありますが、今回必要なもののみ記入しました。 やりたい事はteiou68kさんのおっしゃるとおりです。 TANTO_TABLEは担当コードがキーで担当名が項目です。 A_TABLEに担当コード1と2があり、TANTO_TABLEおよびA_TABLEからSQL実行し、その結果として担当名1と2を1RECとして取得したいのです。 よろしくお願いいたします。m(__)m

関連するQ&A