次のSQLクエリがあります。
SELECT
kvknum.cd_hfdrelnr,
kvknum.cd_kvkanum,
relName.cd_hfdrelnr
FROM
(
SELECT
cd_hfdrelnr,
cd_kvkanum
FROM er_105
WHERE cd_kvkanum IN
(
SELECT cd_kvkanum
FROM er_105
GROUP BY cd_kvkanum
HAVING COUNT(*) > 1
)
AND cd_kvkanum != ''
ORDER BY cd_kvkanum
) AS kvknum
LEFT OUTER JOIN
(
SELECT
cd_hfdrelnr,
cd_relnaam
FROM er_101
) AS relName
ON kvknum.cd_hfdrelnr = relName.cd_hfdrelnr
このGROUP BY
関数は許可されておらず、同じcd_kvkanum
値が互いに下に表示されるようにするために必要です。これに対する回避策はありますか、またはこれをどのように実現できますか?
次のエラーが発生します。
"メッセージ1033、レベル15、状態1、行21 ORDER BY句は、TOPまたはFOR XMLも指定されていない限り、ビュー、インライン関数、派生テーブル、サブクエリ、および共通テーブル式では無効です。メッセージ156、レベル15、状態1、28行目キーワード「AS」の近くの構文が正しくありません。」
次のクエリを実行すると:
SELECT
cd_hfdrelnr,
cd_kvkanum
FROM er_105
WHERE cd_kvkanum IN
(
SELECT cd_kvkanum
FROM er_105
GROUP BY cd_kvkanum
HAVING COUNT(*) > 1
)
AND cd_kvkanum != ''
ORDER BY cd_kvkanum
(結合の最初のサブクエリ)結果は次のようになります
:
1235-123
4652-1238569-1234
4985-1234
結果リストにcd_relnaamを追加したいのですが、クエリでJOINを使用すると、結果が空白になります...
誰かが私が間違っていることを知っていますか?