カウント関数を使用してSQLクエリに問題があります。COUNTが複数の行を出力しています
私は内部結合を持っていないとき、55行を数えます。クエリに内部結合を追加すると、内部結合が多く追加されます。突然102列になりました。
SELECT COUNT([fmsStage].[dbo].[File].[FILENUMBER])
FROM [fmsStage].[dbo].[File]
INNER JOIN [fmsStage].[dbo].[Container]
ON [fmsStage].[dbo].[File].[FILENUMBER] = [fmsStage].[dbo].[Container].[FILENUMBER]
WHERE [fmsStage].[dbo].[File].[RELATIONCODE] = 'SHIP02'
AND [fmsStage].[dbo].[Container].DELIVERYDATE BETWEEN '2016-10-06' AND '2016-10-08'
GROUP BY [fmsStage].[dbo].[File].[FILENUMBER]
はまた、私はそれが彼らの内部で乱数で51行を返すためSELECT
声明でTOP 1
をしなければならない。
は、ここに私のSQLクエリです。 (おそらくランダムではありませんが、その内容を把握することはできません)[fmsStage].[dbo].[file].[FILENUMBER]
から行数をカウントするにはどうすればよいですか?
してグループを削除しますか?これは、2つのテーブル間で 'join'が動作する方法です。 –
あなたはGROUP BYをします。 [fmsStage]。[dbo]。[File]。[FILENUMBER]の値ごとに1行/カウントを期待してください。 – jarlh
ここでグループを削除しました。しかし、それは私が内部結合を追加する前よりも高い数値を出力します。テーブルFILEではFILENUMBER行がカウントされますが、テーブルCONTAINERではカウントされません。なぜそれがそれに加わるのですか? –