プロが教えるわが家の防犯対策術!

以下のテーブルがあります

テーブル:受注no、売上日、キャンセル区分…
12345、2013/9/20、
12346、2013/9/20、
12347、2013/9/21、
12348、2013/9/25、
12346、2013/9/26、1
12348、2013/9/30、1
クエリを使用して、キャンセル区分に1が入力されていない受注noのカウントをしたいのですが、クエリ1回でカウントする方法がありましたら教え いただきたく思います 。
よろしくお願いします。

A 回答 (3件)

「キャンセル区分」 の データ型が不明ですが、



テキスト型の場合

SELECT Count(*) AS カウント
FROM
(SELECT 受注no
FROM MyTable
GROUP BY 受注no
HAVING Max(Nz([キャンセル区分],"0"))<>"1") AS T_tmp

数値型の場合

SELECT Count(*) AS カウント
FROM
(SELECT 受注no
FROM MyTable
GROUP BY 受注no
HAVING Max([キャンセル区分]) Is Null) AS T_tmp

ではいかがでしょうか?
    • good
    • 0
この回答へのお礼

ありがとう ございます 。
希望の通り表示出来ました。
勉強になりました。

お礼日時:2013/10/03 17:04

たとえば、以下のようなことですか。


テーブル名をMyTableとして、

SELECT Count(*) AS 個数
FROM myTable
WHERE (((myTable.キャンセル区分) Is Null));
    • good
    • 0

クエリにて



フィールド キャンセル区分
抽出条件  Not 1
と入れる。

この回答への補足

xeon3350様
ありがとうございます。

私の書き方が悪くてすみません 。
受注noは同じものが複数存在します。
例えば12346はキャンセル区分が1入力されているので、
2013/9/26分は省くことができるのですが 、
2013/9/20分はカウントしてしまいます。

2013/9/20分もカウントしないようにするには、
良い方法がありますでしょうか?

よろしくお願いします。

補足日時:2013/10/02 18:05
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!