![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
SQL Serverで以下のようなテーブルからデータを取得しようと思っているのですが、うまく取得できません。
テーブル1 NEWS_TABLE
ニュースID(NEWS_ID)と都道府県ID(PREF_ID)が100件格納されています。
テーブル2 PREF_TABLE
都道府県ID(PREF_ID)と都道府県名(PREF_NAME)が格納されています。
ニュースの頻発するベスト4の都道府県をリストアップしたいのですが、以下のSQLだと問題なく取得できます。
SELECT
TOP 4
COUNT(A.NEWS_ID) AS COUNT
, A.PREF_ID
,(SELECT PREF_NAME FROM PREF_TABLE WHERE ID = A.PREF_ID) AS PREF_NAME
FROM
NEWS_TABLE AS A (NOLOCK)
WHERE A.NEWS_ID IN (1,2,3,4,5,6,7,8,9,10.....)
GROUP BY
A.PREF_ID
ORDER BY
COUNT DESC
ところが、以下だとエラーになってしまいます。
SELECT
TOP 4
COUNT(A.NEWS_ID) AS COUNT
, A.PREF_ID
,(SELECT PREF_NAME FROM PREF_TABLE WHERE ID = A.PREF_ID) AS PREF_NAME
FROM
NEWS_TABLE AS A (NOLOCK)
LEFT JOIN
PREF_TABLE AS B (NOLOCK)
ON
A.PREF_ID = B.PREF_ID
WHERE A.NEWS_ID IN (1,2,3,4,5,6,7,8,9,10.....)
GROUP BY
A.PREF_ID
ORDER BY
COUNT DESC
メッセージは以下
メッセージ 8120、レベル 16、状態 1、行 5
列 ****' は選択リスト内では無効です。この列は集計関数または GROUP BY 句に含まれていません。
2つ目の方が一般的のような気がするのですが、なぜエラーになるのか、2つ目の方法で解決策があるのか、教えて頂けないでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript WordPressのコンタクトフォーム7にて送信者の位置情報を送らせたい 2 2022/09/14 23:28
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- PostgreSQL 画像とカテゴリーを出力したいのですが、取得の条件を付ける方法がわかりません。 2 2022/05/01 18:03
- Oracle sqlで質問です。 aテーブルとbテーブルがあり、下記のsqlで取得したidとnameに一致しないレ 1 2022/04/20 20:34
- MySQL 次の時間帯の勝率の合計を求めるSQL文 1 2023/07/04 17:12
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
- MySQL SQLです。下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「昨年の各月の総降 1 2023/07/01 00:32
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
型 varchar から型 numeric への変換エラー。
その他(データベース)
-
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
visual studio でインデントを自動的に揃えるショートカットキー
その他(プログラミング・Web制作)
-
-
4
SQLのエラー(~付近に不適切な構文があります)
SQL Server
-
5
SQLで特定の項目の重複のみを排除した全項目を取得する方法
その他(プログラミング・Web制作)
-
6
「指定されたキャストは有効ではありません。」とエラーが出てしまいます。
Microsoft ASP
-
7
SQL Date型の列から年月だけを取得したい
SQL Server
-
8
MS SQLServer のSQLで文字列の前にN:
その他(データベース)
-
9
SUBSTRING 関数に渡した長さのパラメータが無効です。
SQL Server
-
10
データベースのINT型項目にNULLはNG?
MySQL
-
11
sqlserverで集計結果をUPDATEしたいです
SQL Server
-
12
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
13
GROUP BYを行った後に結合したい。
Oracle
-
14
Designer.vbは直接コードをいじってはだめ?
Visual Basic(VBA)
-
15
列名XXXXが無効です
SQL Server
-
16
FROM の中で CASE を使えるでしょうか
SQL Server
-
17
CloseとDisposeの違い
Visual Basic(VBA)
-
18
一部のカラムでdistinctし全てのカラムを取得
MySQL
-
19
SQLで部分的にGROUP BYしたいとき
Oracle
-
20
SQL文で素早くNULLを除外する方法
SQL Server
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Oracle 8i コンマ(,)を含むデ...
-
SQLのエラー(~付近に不適切な...
-
エクセルマクロで指定範囲内の...
-
エクセルのグループボックス枠...
-
sqlで文字列を最後に追加したい
-
GROUP BYでエラーが発生
-
SQLServerが存在しないか、アク...
-
SQLserverのIF文について
-
ノートンインターネットセキュ...
-
オブジェクト名 '<table>' が無...
-
レポートが開けない。
-
Accessのレポートが新規作成で...
-
oo4oのMovePreviousnメソッドに...
-
PostgreSqlでFunctionの作成に...
-
ファイアホースモードエラーに...
-
リストボックスで選択したレコ...
-
ACCESSで作成したアプリケーシ...
-
バッチファイルからのBCP起動に...
-
SQLServer2005(SQLEXPRESS)
-
SQL Severのクエリ異常
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Oracle 8i コンマ(,)を含むデ...
-
SQLのエラー(~付近に不適切な...
-
PostgreSqlでFunctionの作成に...
-
GROUP BYでエラーが発生
-
エクセルマクロで指定範囲内の...
-
ACCESS ADOでupdateが効かない
-
ACCESSで作成したアプリケーシ...
-
sqlで文字列を最後に追加したい
-
エクセルからSQLサーバー ...
-
オブジェクト名 '<table>' が無...
-
SQLserverのIF文について
-
バッチファイルからのBCP起動に...
-
SQLServerが存在しないか、アク...
-
エクセルのグループボックス枠...
-
@@ERRORと@@ROWCOUNT併用について
-
ストアドの戻り値(配列)について
-
レポートが開けない。
-
Accessのレポートが新規作成で...
-
Access2000環境に対応するMid関...
-
自作関数を含んだクエリをエク...
おすすめ情報