SQLの質問です。

・列A・・・伝票番号重複あり。
・列B・・・列Aに対する連番
・列C・・・集計対象の値。1~10の値が格納されている。

列AとBが複合キーとなり主キー。
列Cに1と0のみが含まれる伝票番号を抽出したい。
同じ伝票番号に2~10の値が含まれるのは除外したいということです。
きれいなSQLの書き方があれば教えてください。
ちなみにデータベースはAccessのJetです。

回答の条件
  • 1人2回まで
  • 登録:2006/06/27 10:05:29
  • 終了:2006/06/27 10:41:42

ベストアンサー

id:llusall No.2

llusall回答回数505ベストアンサー獲得回数612006/06/27 10:35:48

ポイント40pt

フィールド:A

テーブル:テーブル名

集計:グループ化

並べ替え:

表示:

抽出条件:[A] Not In (select A from テーブル where C not in (0,1))



SQLの場合はこちら、

SELECT A

FROM テーブル

GROUP BY A

HAVING ([A] Not In (select A from テーブル where C not in (0,1)));


http://www.yahoo.co.jp ダミー

その他の回答(1件)

id:birdie-brain No.1

birdie-brain回答回数40ベストアンサー獲得回数42006/06/27 10:31:00

ポイント35pt

http://ja.wikipedia.org/wiki/Microsoft_Access

URLはダミーです。

下記のSQLステートメントでどうでしょうか?

Access2003で検証済です。

SELECT DISTINCT

  [A]

FROM

  [テーブル名]

WHERE

  [A] NOT IN ( SELECT [A] FROM [テーブル名] WHERE [C] >= 2 );

id:llusall No.2

llusall回答回数505ベストアンサー獲得回数612006/06/27 10:35:48ここでベストアンサー

ポイント40pt

フィールド:A

テーブル:テーブル名

集計:グループ化

並べ替え:

表示:

抽出条件:[A] Not In (select A from テーブル where C not in (0,1))



SQLの場合はこちら、

SELECT A

FROM テーブル

GROUP BY A

HAVING ([A] Not In (select A from テーブル where C not in (0,1)));


http://www.yahoo.co.jp ダミー

  • id:llusall
    あっ、birdie-brain さんの方のが良いと思います。
    私のは、GROUP BY してから、HAVINGされると思いますので、
    遅いと思いました。
    失礼しました。



    フィールド:A

    テーブル:テーブル名

    集計:グループ化

    並べ替え:

    表示:

    抽出条件:Not In (SELECT [A] FROM [テーブル名] WHERE [C] >= 2 )


    クエリのプロパティで、
      固有の値を「はい」
    にします。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません