重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

SELECT
COUNT (*) AS XXXX
FROM AAA,BBB
WHERE AAA.AAA = BBB.BBB AND
・・・・
・・・・

やりたい事は、AAAテーブルだけのカウントをしたいのですが
現状、BBBのカウントもしてしまいます。

BBBはWHEREでAAAに対して比較だけを
行いたいのですが、この場合どうやったらいいのでしょうか。

A 回答 (3件)

> BBBはWHEREでAAAに対して比較だけを行いたい



この一文から推測すると、結合しているのが間違いな気がします。
↓の様な形になるべきなのかも知れません。

SELECT
COUNT (*) AS XXXX
FROM AAA
WHERE AAA.AAA IN (SELECT BBB FROM BBB WHERE 何らかの条件) AND ・・・

他の方も指摘されている通り、もう少し情報を出して頂かないと正確な回答をすることは無理ですね。
    • good
    • 0

> BBBを結合しなくても、BBBとAAAが比較できるのなら


> それでいいのですが、そのやり方がわからない状況です・・・。

具体的にどんなテーブル構成であり,具体的にどんなSELECT文なのか,その提示なしに回答できる内容ではないです。

どうしてもAAAやBBBのように秘匿したまま質問せねばならないのなら,このような匿名Q&Aサイトで解決策が得られるかどうかは期待薄だと思います。
    • good
    • 0

> BBBはWHEREでAAAに対して比較だけを


> 行いたいのですが、この場合どうやったらいいのでしょうか。
なんのためにBBBを結合するのか不明ですが、
結合のためのWhere条件が不足してませんかね?
下手すると、AAAテーブルの実レコード数より大きな値になるかも。

AAA.AAA がユニークな値で間違いないなら、
COUNT (distinct aaa.aaa) AS XXXX
にしてみるとか。

この回答への補足

> なんのためにBBBを結合するのか不明ですが、
> 結合のためのWhere条件が不足してませんかね?
> 下手すると、AAAテーブルの実レコード数より大きな値になるかも。
まさに、実レコード数より大きな値が返ってきています。
BBBを結合しなくても、BBBとAAAが比較できるのなら
それでいいのですが、そのやり方がわからない状況です・・・。

補足日時:2012/03/03 20:40
    • good
    • 0

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

関連するカテゴリからQ&Aを探す