SELECT文でデータを抽出したいんですがうまく出来ません。
テーブルA
名前 |あ|
コード1|0
コード2|0
コード3|0
コード4|0
コード5|0
テーブルB
コード
名称
テーブルAのコード1〜5の中に数値が入っています。
テーブルAのコード1〜5すべてに0が入っていたときは抽出しない。
テーブルAとテーブルBのコードが一致した名称を抽出したいのです。
JOINを使って試してみたのですがうまくできません。
ご教授おねがいします。
すいません。
途中で送信を押してしまいました。
SELECT文でデータを抽出したいんですがうまく出来ません。
テーブルA
名前 |あ|い|
コード1|0 |0 |
コード2|0 |1 |
コード3|0 |2 |
コード4|0 |0 |
コード5|0 |0 |
テーブルB
コード|1 |2 |
名称 |う|え|
テーブルAのコード1〜5の中に数値が入っています。
テーブルAのコード1〜5すべてに0が入っていたときは抽出しない。
テーブルAとテーブルBのコードが一致した名称を抽出したいのです。
下記のように。
名前 |い|
コード名称1|""|
コード名称2|う|
コード名称3|え|
コード名称4|""|
コード名称5|""|
JOINを使って試してみたのですがうまくできません。
ご教授おねがいします。
ちょっとこの内容は板違いかな
Accessの板に質問する内容かと
冷たい態度もどうかと思うのでヒントを
あなたが日本語で書いている内容そのまま書けばいいかと
もう一つはJOINやるならLEFT JOINをうまく使えば出来ると思いますよ
ちょっと列と行の概念がめちゃくちゃな気がするので
うまく回答できないですけど・・・
上の説明だと
どれが列名でどれがデータなのかよくわからない表になってませんか?
追記
抽出しないと言ってるわりには抽出した結果がほしいのかな?
本当にテーブルBってそれであってるの?
なんかすげぇ疑問のあるテーブルなきがするのですけど・・・
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200510/05100054.txt
の掲示もそうだけれども、問題点が何処にあって、
それがVB依存なのかを切り分けることが出来ないは調査不足では?
いな さんも指摘してますが、どうせなら、
http://www7.big.or.jp/~pinball/discus/access/index.html
で聞いたら解決が早いかと
肝心の
「対象になるデータベースとそのバージョンは何か?」
の情報が秘密では、一般論のみになりますが、
まずは、そのExcelみたいなものを正規化するところからはじめないと、
SQLで抽出するのに非常に苦労する という話から。
http://www.mars.dti.ne.jp/~o-shin/new/whatrdb/index.html
http://www.kogures.com/hitoshi/webtext/db-seikika/
http://ew.hitachi-system.co.jp/w/E6ADA3E8A68FE58C96.html
http://e-words.jp/w/E6ADA3E8A68FE58C96.html
http://www.netlaputa.ne.jp/~hijk/study/ae/datnom.html
テーブルB(コード、名称)は
コード 名称
|1 |う |
|2|え|
という形でないとまともにJOINできないかと。
とりあえず、上記前提で、
>テーブルAのコード1〜5すべてに0が入っていたときは抽出しない。
というのは、テーブルBに「0」のコードが無ければ抽出されないので
それでOKと解釈し、
SELECT TABLE_B.名称, TABLE_B_1.名称
FROM TABLE_B AS TABLE_B_1
RIGHT JOIN (TABLE_B RIGHT JOIN TABLE_A
ON TABLE_B.コード = TABLE_A.あ)
ON TABLE_B_1.コード = TABLE_A.い;
(Access2000で確認済み)
となるけど。
ちゃんと正規化したほうがよいでしょう。
というか、VBの話題じゃないから、
あとはデータベースを扱う掲示板で聞いたほうがよいでしょう。
ツイート | ![]() |