我的問題是,我有了被實時生成的where子句的SELECT語句。它連接在5個桌子上。SQL計數與動態聯接WHERE
我基本上需要在表1的用戶的ID落入WHERE的範圍的各不同實例的計數。這也必須能夠在一個聲明中執行。所以,從本質上講,我不能做全局GROUP BY,因爲我需要返回其他4個表數據。
如果我能得到一個列有這樣的被複制,其中主鍵列,這將是完美的計數。現在,這是我看我的查詢:
SELECT *
FROM TBL1 1
INNER JOIN TBL2 2 On 2.FK = 1.FK
INNER JOIN TBL3 3 On 3.PK = 2.PK INNER JOIN TBL4 4 On 4.PK = 3.PK
LEFT OUTER JOIN TBL5 5 ON 4.PK = 5.PK
WHERE 1.Date_Time_In BETWEEN '2010-11-15 12:00:00' AND '2010-11-30 12:00:00'
ORDER BY
4.Column
, 3.Column
, 3.Column2
, 1.Date_Time_In DESC
因此而不是選擇所有列,我會被過濾下來約5或6,但與我需要的東西就像一個總計列是TBL1的主鍵的不同計數,它適用於WHERE子句,可能會增大和縮小。
我幾乎希望有一種方法可以將相同的WHERE子句應用於子查詢,因爲我意識到這樣做可以工作,但不知道除了創建變量之外的其他方法,只是將它放在兩個地方,不要做。
什麼是你的分貝? – jira 2010-11-30 19:29:27
FK是您的主要關鍵嗎?如果是的話,爲什麼你不能分組?也請記住,您可以通過1個多鍵 – Mikhail 2010-11-30 19:36:42
分組勢力集團我來限制數據,如果我能組將但這意味着我只根據該組由獲得一排,我需要多個結果在那裏我可以按一列,並通過多個結果計數堅持該值。 – Evidica 2010-11-30 19:49:39