select文についてお教えください。環境はAccess2003,Win XPで動かしています。
TABLE
ID(INT),STOCK(INT)
001,100
001,200
001,
002,200
002,300
002,400
003,100
上記のようなテーブル、データがあります。
■抽出したい行
001,100
001,200
■抽出条件
STOCKに空がはいっている。
STOCKに空がはいっている行は選択しない。
STOCKに空がはいっているIDで、同一IDでSTOCKにデータがある行を抜き出したいです。
どのようにSQLを組み立てればよいかわかりません。
宜しくお願い致します。
No.3
- 回答日時:
ANo.2さんの方法で可能だと思いますが、クリエ一つでやりたい場合は、
テーブルからクエリを作成して、STOCK の抽出条件に下記の式を記述
In (SELECT ID FROM TABLE WHERE STOCK Is Null) AND Is Not Null
SQLだと、
SELECT ID, STOCK FROM TABLE WHERE ID In (SELECT ID FROM TABLE WHERE STOCK Is Null) And STOK Is Not Null;
これは、ANo.1さんのSQL の = を In に変更しただけです(複数の結果を返すサブクエリに = は使えない)。
他にも、
SELECT ID, STOCK FROM TABLE INNER JOIN (SELECT DISTINCT ID FROM TABLE WHERE STOCK Is Null) WHERE STOK Is Not Null;
とか、いろいろあります。
No.2
- 回答日時:
本格的に取り組むならAccess SQLの解説本で学習。
SQL言語はメーカー製品による方言があるため他の製品とは書き方を変えなくてはならないことがあり得ます。手っ取り早く済ませるには、Accessのクエリウィザードを利用すること。
ウィザードではテーブルまたはクエリ結果テーブルとフィールドとをビジュアルに指定して、一致、差分をSQLの知識なしでも抽出するクエリが簡単に作成できます。できればAccessの解説サイトなどでクエリウィザードの使い方を学習しておくのが望ましいです。
ウィザードだと、まず当該テーブルのSTOCKフィールドの値がNULLのIDフィールドを抽出するクエリを作成。(クエリ1)
次に、ウィザードで当該テーブルのSTOCKフィールドの値がNULLでないレコードを抽出するクエリを作成。(クエリ2)
最後にウィザードで、クエリ1とクエリ2のクエリ結果テーブルを突き合わせてIDフィールドの値が一致するレコードを抽出するクエリを作成。(クエリ3)。
クエリ3を実行することで、期待した結果は得られるでしょう。
ご回答ありがとうございます!確かにクエリを複数やればできますね!私は一発でやりたかったので、No1さん、No3さんのを参考にさせていただきました!ご回答ほんとうにありがとうございます!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Excel(エクセル) excelVBAについて。 8 2022/12/11 13:47
- Excel(エクセル) ExcelVBAについて。 2 2022/12/10 20:08
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- TOEFL・TOEIC・英語検定 exchange traded fundの品詞分解についてご質問があります。 ETFとはweblio 1 2023/05/21 16:02
- Oracle SQL update方法 2 2022/06/22 14:07
- MySQL SQLについて教えて下さい。 SELECT分で、あるカラムにある日付の 半年先のデータを取って来たい 3 2022/12/07 22:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessクエリで特定の行を削除...
-
アクセスのフィルタ nullにつ...
-
Accessのクエリーのゼロデータ...
-
Access2007でSQLの複数列副問い...
-
Access クエリで連結する文字...
-
AccessからExcelへの条件付エク...
-
Accessのクエリで1フィールドの...
-
Accessのデータの一部を削除す...
-
access(アクセス):パラメータ...
-
ActiveDirectoryのCSVエクスポート
-
Access:固定長文字列ファイル...
-
【Access】先月のデータを抽出...
-
accessで空白の時の抽出
-
access2019 チェックボックスと...
-
sqlserverで書式チェックしたい
-
ACCESS クエリ 抽出条件が多い場合
-
差込印刷で顧客別に複数行のデ...
-
アクセスで入力したデータの順...
-
差し込み文書のルールで if the...
-
アクセスのレポートのヘッダー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessクエリで特定の行を削除...
-
Access2007でSQLの複数列副問い...
-
Accessのクエリーのゼロデータ...
-
アクセスのフィルタ nullにつ...
-
access2019 チェックボックスと...
-
Accessのデータの一部を削除す...
-
Access クエリで連結する文字...
-
AccessからExcelへの条件付エク...
-
Accessのクエリで1フィールドの...
-
access(アクセス):パラメータ...
-
Accessクエリで年月フィールド...
-
Accessクエリ特定文字列のカウ...
-
accessで空白の時の抽出
-
アクセスで任意の件数を抽出す...
-
Access:固定長文字列ファイル...
-
Access Left$関数で全角半角が...
-
テーブルの差分をとる結合
-
ACCESS クエリ 抽出条件が多い場合
-
Access2003 削除クエリで式1フ...
-
ACCESSでのフィールド比較方法?
おすすめ情報