- PR -

SELECT分の質問なのですが

1
投稿者投稿内容
さよこ
ベテラン
会議室デビュー日: 2005/10/13
投稿数: 78
投稿日時: 2006-05-11 22:09
こんばんは。
初歩的なSELECT文の質問ですみません。

TBL_A
業務コード  売上
1 1,000
2 1,500
3 1,800
4 1,200

TBL_B
業務コード 作業ID 作業内容
1 1 作業1
1 2 作業2
2 1 作業3
2 2 作業4
2 3 作業5
3 1 作業6
4 1 作業7
4 2 作業8

のような2つのテーブルがあり、
TBL_Bから、TBL_Aで売上1,500以上の業務コードを持ったレコードを取り出したいのです。
この例の場合ですと、
TBL_B
業務コード 作業ID 作業内容
2 1 作業3
2 2 作業4
2 3 作業5
3 1 作業6
を取り出せるようにしたいです。
すいません。よろしくお願い致します。



さかもと
ぬし
会議室デビュー日: 2004/05/14
投稿数: 586
投稿日時: 2006-05-11 22:17
select a.業務コード,a.作業ID,a.作業内容
from tbl_b a
left outer join tbl_a b
on a.業務コード=b.業務コード
where b.売上>1500
でよいでしょうか?

あっ、以上だから>=
[ メッセージ編集済み 編集者: さかもと 編集日時 2006-05-11 22:17 ]


[ メッセージ編集済み 編集者: さかもと 編集日時 2006-05-11 22:18 ]
さよこ
ベテラン
会議室デビュー日: 2005/10/13
投稿数: 78
投稿日時: 2006-05-11 23:35
ありがとうございます。
joinすればよいのですね。
副問い合わせでもするのかなとか、
全然違う方向を考えてました。
ありがとうございました。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-05-11 23:49
今回は噛み合ったようで、良かったのですが、
どの DBMS なのかも書いて欲しかったですね。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
さかもと
ぬし
会議室デビュー日: 2004/05/14
投稿数: 586
投稿日時: 2006-05-12 07:35
さかもとです。
おはようございます。

>どの DBMS なのかも書いて欲しかったですね

あっ、そうですね・・・(笑)
何も聞かずに返答しました。

ということでさよこさん、次回はじゃんぬねっとさんがおっしゃるような記載をお願い致します。
今川 美保(夏椰)
ぬし
会議室デビュー日: 2004/06/10
投稿数: 363
お住まい・勤務地: 神奈川県茅ヶ崎市
投稿日時: 2006-05-12 09:40
引用:

さよこさんの書き込み (2006-05-11 23:35) より:
副問い合わせでもするのかなとか、
全然違う方向を考えてました。


いや、副問いでもできると思いますが。

確認していませんが、こんな感じになると思います。
コード:
select 業務コード,作業ID,作業内容 
from TBL_B 
where 業務コード in (
    select 業務コード from TBL_A where 売上 >= 1500 
) ;



OUTER JOINする必要性は感じないのですが、どうなんでしょう?
_________________
夏椰 @ わんくま同盟
夏椰の庵
Microsoft MVP for Windows Server System - SQL Server ( Jul 2006 - Jun 2008 )
さかもと
ぬし
会議室デビュー日: 2004/05/14
投稿数: 586
投稿日時: 2006-05-12 10:10
さかもとです。

>副問いでも・・・

OUTER JOIN使ったのはtbl_aから売上を引っ張らなくても
よいのかなー?と思っただけで別に必要なければ・・・。

例通りで返答すれば良かったですね。
さよこ
ベテラン
会議室デビュー日: 2005/10/13
投稿数: 78
投稿日時: 2006-05-12 10:18
おはようございます。
ありがとうございます。
in でできるのですね。
久しぶりにSQL文を作ろうとしたら、
すっかりわからなくなってしまいました。
(もともと、そんなにわかるわけではないのですが)


[ メッセージ編集済み 編集者: さよこ 編集日時 2006-05-12 11:27 ]
1

スキルアップ/キャリアアップ(JOB@IT)