C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[5]: SQL文について


(過去ログ 93 を表示中)

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

■55634 / inTopicNo.1)  SQL文について
  
□投稿者/ SQL (1回)-(2010/12/07(Tue) 23:15:40)

分類:[データベース全般] 

Aテーブル
-a-b-
|a|1|
|a|2|
|a|3|
|a|4|
Bテーブル   Aテーブル全件とa,bがBテーブルに存在場合、C=1のデータのみ連結したいのですが
-a-b-c|     
|a|1|1|
|a|1|2|
|a|2|2|
|a|4|1|
a,b,cはキーです。
SQL文はどのようにすればよいのでしょうか?


引用返信 編集キー/
■55635 / inTopicNo.2)  Re[1]: SQL文について
□投稿者/ やじゅ (1785回)-(2010/12/07(Tue) 23:22:57)
やじゅ さんの Web サイト
2010/12/07(Tue) 23:32:40 編集(投稿者)

No55634 (SQL さん) に返信
勘違いしていなければ・・・  たぶん駄目
SELECT B.* FROM A INNER JOIN B ON A.a = B.a AND A.b = B.b WHERE B.c = 1


質問の意味を理解できてないかも、最終結果も提示してほしいところ。





引用返信 編集キー/
■55636 / inTopicNo.3)  Re[1]: SQL文について
□投稿者/ shu (255回)-(2010/12/07(Tue) 23:24:33)
No55634 (SQL さん) に返信

BをC=1の条件でサブクエリにしてA left join (サブクエリ)で連結
でどうでしょう?
引用返信 編集キー/
■55637 / inTopicNo.4)  Re[2]: SQL文について
□投稿者/ SQL (2回)-(2010/12/08(Wed) 00:02:58)
>>
SELECT B.* FROM A INNER JOIN B ON A.a = B.a AND A.b = B.b WHERE B.c = 1

はBテーブルのc=1のデータしか連結しませんでした。

希望結果は
-a-b-c| 
|a|1|1|
|a|2|-|
|a|3|-|
|a|4|1|
で[-]はnull(存在しない)を意味します
引用返信 編集キー/
■55638 / inTopicNo.5)  Re[3]: SQL文について
□投稿者/ やじゅ (1786回)-(2010/12/08(Wed) 00:47:57)
やじゅ さんの Web サイト
2010/12/08(Wed) 00:50:01 編集(投稿者)

No55637 (SQL さん) に返信
> 希望結果は
> -a-b-c| 
> |a|1|1|
> |a|2|-|
> |a|3|-|
> |a|4|1|
> で[-]はnull(存在しない)を意味します

SELECT A.*,B.c FROM A LEFT OUTER JOIN
(SELECT * FROM B WHERE C=1) B
ON A.a = B.a AND A.b = B.b

引用返信 編集キー/
■55639 / inTopicNo.6)  Re[4]: SQL文について
□投稿者/ SQL (4回)-(2010/12/08(Wed) 01:03:16)

希望結果になりました。ありがとうございました。
引用返信 編集キー/
■55640 / inTopicNo.7)  Re[5]: SQL文について
□投稿者/ SQL (6回)-(2010/12/08(Wed) 01:05:01)
No55639 (SQL さん) に返信
> ↑
> 希望結果になりました。ありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -