SQL server Manager 2008 クイック シンプル マネージャーを使用して、次のクエリを取得しました。
SELECT sizecode as smaller
from safestore.dbo.SpaceMan_EvoPrices
WHERE SiteId = 'derp' AND Publish = 'Y' AND SizeCode = 'herp'
HAVING PhysicalSize < MIN(PhysicalSize)
集計関数にも GROUP BY 句にも含まれていないため、HAVING 句では無効です。group by を追加しましたが、それを group by 句に追加して有効にする方法がわかりません。お分かりのように、私は今まで Having を使用したことがありません。
何かご意見は?
編集:
このクエリは、見て頭が痛いので短縮しようとしている元のクエリです。
SELECT TOP 1 (SELECT TOP 1 Sizecode
FROM [safestore].[dbo].[SpaceMan_EvoPrices]
WHERE PhysicalSize < (SELECT TOP 1 PhysicalSize FROM [safestore].[dbo]. [SpaceMan_EvoPrices] WHERE SiteId = 'derp' AND Publish = 'Y' AND SizeCode = 'herp')
AND SiteId = 'derp'
ORDER BY PhysicalSize DESC) AS Smaller,
(SELECT TOP 1 Sizecode
FROM [safestore].[dbo].[SpaceMan_EvoPrices]
WHERE PhysicalSize > (SELECT TOP 1 PhysicalSize FROM [safestore].[dbo]. [SpaceMan_EvoPrices] WHERE SiteId = 'derp' AND Publish = 'Y' AND SizeCode = 'herp')
AND SiteId = 'derp'
ORDER BY PhysicalSize) AS Larger
FROM [safestore].[dbo].[SpaceMan_EvoPrices]