2016-10-17 13 views
-3

猫と犬の数がそれぞれ2つのテーブルと都市名があるとしましょう。我々は、犬よりも多くの猫が存在する都市をSQL文を使って見つけたい。2つのテーブルの最大値を見つける

+2

テーブル構造とサンプルデータを入力 –

+3

どのDBMSを使用していますか?また:** [編集] **あなたの質問といくつかのサンプルデータとそのデータに基づいて期待される出力を追加します。 [_Formatted_](http://stackoverflow.com/editing-help#code)**テキスト**お願い、[スクリーンショットなし](http://meta.stackoverflow.com/questions/285551/why-may-i -not-upload-images-of-on-ask-a-question/285557#285557) –

+0

なぜ2つの別々のテーブルがありますか?なぜ1つの共通のペットテーブルですか? – jarlh

答えて

0

私は次のクエリがあなたのために彼の仕事をすると思います。

SELECT cat.city_name 
FROM (SELECT upper(city_name), count(*) quantity 
     from cats 
     group by upper(city_name)) cat 
, (SELECT upper(city_name), count(*) quantity 
     from dogs 
     group by upper(city_name)) dog 
where dog.city_name = cat.city_name 
and cat.quantity > dog.quantity; 
+0

ちょっと疑問です:OPはcatsの数で_tablesを語ったので、 'sum(num_of_cats) 'で' count(*) 'を変更しなければならないかもしれません(この場合、集計が必要かどうかは分かりません)。ここでLEFT JOINの必要性を避けても)。 OPからのさらなる情報なしで、我々は基本的に推測している。 – Insac

関連する問題