SQL初心者です。結合について質問させていただきます。
使用するテーブル
(1) 顧客テーブル
(2) 取引先テーブル
カラム
顧客TBL 取引先TBL
顧客CD 取引先CD
仕入先CD 取引先名称
仕入先名称
: :
とあるとします。抽出したい情報は、
(1) 顧客TBL.顧客CD = 取引先TBL.取引先CD を条件に取引先TBL.取引先名称
(2) 顧客TBL.仕入先CD = 取引先TBL.取引先CD を条件に取引先TBL.取引先名称
自分が書いたSQL文
SELECT
顧客CD,
仕入先CD,
取引先名称,
(SELECT 仕入先名称 FORM 取引先TBL WHERE 顧客TBL.仕入先CD = 取引先TBL.取引先CD AND ROWNUM=1) AS 仕入先名称
FORM
顧客TBL LEFT JOIN 取引先TBL ON 顧客TBL.顧客CD = 取引先TBL.取引先CD
これで一応データの取得はできています。
副問合せを使わずに取引先名称と仕入先名称を取得する書き方はあるのでしょうか?
後、自動でSQLを生成してくれるツールとかありましたら紹介してください。
No.4
- 回答日時:
>自動でSQLを生成してくれるツールとかありましたら紹介してください。
完全に自動というわけではないですが、
『KeySQL』という製品なら、GUIで項目や条件を選べば、
SQL文ができあがりますよ。
参考URL:http://www.oracle.co.jp/keysql/index.html
No.2
- 回答日時:
SELECT
DISTINCT
顧客CD,
仕入先CD,
取引先名称,
仕入先名称
FORM
顧客TBL
LEFT JOIN 取引先TBL X ON 顧客TBL.顧客CD = X.取引先CD
LEFT JOIN 取引先TBL Y ON 顧客TBL.仕入先CD = Y.取引先CD
で良いのではないかと思います。
ちなみに・・
>#1どの
>あえてInnerJoin等せず、古い記述方法で。
あえて古い記述方法を用いる意味は?
No.1
- 回答日時:
テーブル名を別名(エイリアス)で表記。
あえてInnerJoin等せず、古い記述方法で。
SELECT
a.顧客CD, b.取引先名称,
a.仕入先CD, c.仕入先名称
from
顧客TBL as a,
取引先TBL as b,
取引先TBL as c
where
a.顧客CD = b.取引先CD(+)
and
a.仕入先CD = c.取引先CD(+)
;
(+)はLeftJoinと同じ。取引先TBLに存在しないコードがあっても表示。
ツールは、わかりません。ごめんなさい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(ビジネススキル・経営ノウハウ) こんな場合、どのくらい利益を乗せても良いでしょうか? 6 2023/03/09 19:03
- ビジネスマナー・ビジネス文書 開業して初めての、会社間の年賀状のやり取りについて 2 2022/12/21 16:57
- Excel(エクセル) エクセルにおいてセル内の文字を出来るだけ大きく表示する方法を教えてください。 4 2022/07/30 08:08
- その他(ニュース・時事問題) 不思議で仕方ないことがある。 日本人は、自分や他人の仕事に対しては、過剰なまでに完璧さを求めるのに、 10 2023/07/12 08:52
- 法学 証券取引所の会員である証券会社は、証券取引所で顧客の注文を取り次ぐ問屋であるってあってますか? 1 2023/07/23 03:41
- その他(ビジネス・キャリア) スポット取引とは? 1 2023/04/06 15:23
- 法人税 浄水器レンタル 経理処理 1 2023/06/29 17:16
- 営業・販売・サービス お客様先常駐のSEです。常駐しながら新規顧客の営業を行う方策などがあれば教えてください。 4月から新 3 2023/05/25 07:44
- 就職 就職先 どちら 2 2022/09/29 18:54
- その他(ビジネス・キャリア) いったい何を考えているのだと思いますか 4 2022/05/08 12:02
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLでグループ化した結果の件数...
-
項目名の制限について
-
MySQLで改行を含む文の登録のし...
-
Accessで複数テーブルのJoin
-
列名無効について
-
SQLを教えて下さい
-
SQL抽出方法に悩んでいます④
-
Excel 2019 のピボットテーブル...
-
「直需」の意味を教えてください
-
エクセルVBAで5行目からオート...
-
Accessでテーブルの値をテキス...
-
作番ってどういう意味でしょうか?
-
Accessでテーブル名やクエリ名...
-
ACCESSのクエリで集計で、先頭...
-
Access テキスト型に対する指定...
-
accessのレポートで元になるテ...
-
テーブルの存在チェックについて
-
Accessのリンクテーブルのパス...
-
セルの右クリックで出る項目を...
-
Accessクエリーで両方のテーブ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MySQLで改行を含む文の登録のし...
-
項目名の制限について
-
SQLでグループ化した結果の件数...
-
ORA-01722: 数値が無効です
-
列名無効について
-
フォームで検索 エラーの表示...
-
オラクルSQLの累計値取得方法に...
-
SQL文のエラーについて
-
縦表示データを列として取得す...
-
♪Oracle SQL 処理が成功した時...
-
SQLでNOT INと!=ALLの違い
-
アクセスのクエリについて(前...
-
Accessで期間指定の売上合計と...
-
改行コードを削除して取得する...
-
SQL文 2つのテーブルから、グ...
-
Oracleでテーブルの結合について
-
以下のようなSQLについて教えて...
-
LEFT JOINとRIGHT JOINについて
-
SQL文(県名一覧・・)
-
SQL文の書き方
おすすめ情報