SQLについてお教え頂けませんでしょうか?
在庫テーブル
・ID
・数量
データ
001,1
001,3
002,3
002,2
002,4
003,2
商品テーブル
・ID
データ
001
002
003
004
やりたいこと:
在庫テーブルには重複しているIDがあります。
商品テーブルには重複しているIDはありません。
在庫テーブルの重複を削除したIDと商品テーブルのIDをinner joinで結びたいと思います。
・select distinct ID FROM 在庫テーブル
・select ID FROM 商品テーブル
この2つのjoin方法がわかりません。
結果として、
001
002
003
を取得したいいです。宜しくお願いします。
ちなみに
select ID from 商品テーブル inner join 在庫テーブル 商品テーブル.ID = exists(select distinct ID from 在庫テーブル)
というコードを書きましたが、動きませんでした・・・抽出データが0件でした・・・
No.3ベストアンサー
- 回答日時:
質問の例題が、あまりにも省略されている為に、正確な要件が解らなくなってしまっています。
おそらく、商品テーブルにも在庫テーブルにも、そのほかのフィールドがあるはずですよね。そうで無いと、在庫テーブルはレコードの特定が出来ませんし、商品テーブルに至っては存在価値を疑ってしまいますので・・・
で、質問の結合方法も、そのほかのフィールドがらみで方法が変わってきそうです。
本当に、質問内容だけでしたら、一番単純な解は、
select distinct ID from 在庫テーブル
です。結合の必要なんてありません。
こんなのも、いちおうあり・・・ですが・・・
select distinct z.ID from 商品テーブル s join 在庫テーブル z on s.ID=z.ID
これで、少なくとも、商品テーブルに存在する商品IDのうち、在庫テーブルに存在する商品の重複の無いIDが取得できます。が・・・普通、商品テーブルに存在しない商品IDてのが想像しがたいので、意味があるかどうか・・・
普通は、この類のテーマだと、
select s.ID, sum(z.数量) from 商品テーブル s join 在庫テーブル z on s.ID=z.ID
group by s.ID
等とやって、「商品の在庫量が知りたいです」となるんですけど・・・
さて、いったい何がやりたいのでしょうか?
「いろいろとやりたいこと」の内容を書かれた方が、的確な答えが返ってくると思います。
No.2
- 回答日時:
どんな要件なのか不明ですが、
> 在庫テーブルの重複を削除したIDと商品テーブルのIDをinner joinで結びたいと思います。
>
> ・select distinct ID FROM 在庫テーブル
> ・select ID FROM 商品テーブル
こういうことかなぁ?
select 商品テーブル.ID
FROM 商品テーブル inner join (select distinct ID FROM 在庫テーブル) T
ON 商品テーブル.ID = T.ID;
これで要件を満たしてますか。
出力結果は、前の方のと同じですが。
No.1
- 回答日時:
むしろ
select distinct ID from 在庫テーブル
だけでよいのでは?
もしかして在庫テーブルにあるIDが必ずしも商品テーブルにあるとは
限らないということですか?であれば
select distinct 在庫テーブル.ID from 在庫テーブル
inner join 商品テーブル on 在庫テーブル.ID=商品テーブル.ID
みたいなやり方でしょうか?
ご回答有難うございます。色々やりたい事があり、
select distinct ID from 在庫テーブルや
select distinct 在庫テーブル.ID from 在庫テーブル
inner join 商品テーブル on 在庫テーブル.ID=商品テーブル.ID
では要件を満たせないのです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Oracle SQL update方法 2 2022/06/22 14:07
- Oracle 下記のsqlで取得されるレコード以外を取得する方法ありますでしょうか。 SELECT B.番号, B 2 2022/04/20 23:21
- Access(アクセス) アクセス 削除するレコードを含んだテーブルを指定してくださいのエラー対処方法 1 2022/11/24 15:01
- その他(データベース) accessについて 2 2022/05/31 16:58
- Oracle sqlで質問です。 aテーブルとbテーブルがあり、下記のsqlで取得したidとnameに一致しないレ 1 2022/04/20 20:34
- PostgreSQL PostgreSQL レコードからアイテム種類数を取得したい 2 2022/11/23 22:31
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- その他(データベース) accessでの請求管理について 2 2022/06/13 21:51
- 経営情報システム accessでの請求管理について 12 2022/06/11 16:20
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
男性と2人で飲食店に行きテーブ...
-
テーブルリンク リンク元を知...
-
面接のときテーブルが正面に。...
-
論理名とコメント構文(?)について
-
外部キーだけのテーブル(主キ...
-
L2SWはARPテーブルを持っている?
-
バイキングのトレーの形
-
UTF8のテーブルをODBCドライバ...
-
テーブルデータのエクスポート...
-
複雑なSQL文について
-
ACCESSで3ファイルを結合して、...
-
AccessVBA でテーブルをインポ...
-
Accessのリンクテーブルマネー...
-
vers か a か(フランス語)
-
「テーブルに座って……」という...
-
エクセルで都道府県、市区町村...
-
オーダーの覚え方について
-
ACCESS テーブルのRENAME
-
EXCEL マクロで行を挿入して貼...
-
SQLでテーブルの値を集計して、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
L2SWはARPテーブルを持っている?
-
テーブルリンク リンク元を知...
-
会社の飲み会の幹事になり、座...
-
外部キーだけのテーブル(主キ...
-
飲み会で、座敷orテーブルどち...
-
アクセスのリンクテーブル一覧...
-
複数テーブルにわたるCOUNT
-
男性と2人で飲食店に行きテーブ...
-
「テーブルに座って……」という...
-
複雑なSQL文について
-
まるいテーブル 円い 丸い 漢字...
-
お金持ちのテーブル
-
【PHP】SQL文のSUM関数で出力し...
-
論理名とコメント構文(?)について
-
1つのテーブルに同じデータを参...
-
1対1のリレーション(主キー同...
-
MySQLで複数テーブルを作成する
-
テーブルの白く剥がれてるところに
-
オーダーの覚え方について
-
このテーブルで
おすすめ情報