如果類型爲'C'並且記錄發佈時間大於或等於類型爲''的記錄的發佈時間, W'帳號和發帖日期相同。我正在努力創建一個if/then,類型'C'> = posttime的類型'W'的後期...任何幫助將不勝感激。我之前做過這些類型,但從來沒有在只有一個記錄項目不同的同一個字段中完成。SQL SSMS如果THEN在同一個字段中有多個條件
回答
如果我理解正確的話,你描述可以通過完成JOINS
。 認爲relational data sets
和SARGs
。
雖然你還沒有給我們一個表格結構(這有很大的幫助),這個解決方案可以幫助你指引正確的方向。下面假設一個FACT
表TRANSACTIONS
,其中carnality
本身是M:M
SELECT TOP 1000 A.ACTIONCODE, A.TRAN_RECORD --, any other needed columns
FROM TRANSACTIONS A
INNER JOIN (SELECT ACTIONCODE, POSTTIME, ACCOUNT_NUM, POSTDATE
FROM TRANSACTIONS
WHERE ACTIONCODE = 'W') B ON A.ACCOUNT_NUM = B.ACCOUNT_NUM
AND A.POSTDATE = B.POSTDATE
WHERE A.ACTIONCODE = 'C'
AND A.POSTTIME >= B.POSTTIME
更新:我不小心忘了,包括列數正確。請始終指定您在INNER JOIN中使用的相同列(或*,如果您不在意)。
無論如何,我們通過只返回我們將在查詢中使用或看到的結果來優化查詢。
這是我最初的,但它只是攪動SSMS沒有結果。基本上,我只需要返回所有'C'型記錄,其中'W'型記錄的後期時間小於'C',但記錄的賬號和後期日期相同。 posttime,postdate,type和number是我表格中的所有字段。
SELECT *
因交易
WHERE ACTIONCODE = 'c' 和發表時間> =發表時間和ACTIONCODE = 'W'
您的查詢可能無法使用效率最高的索引,因爲您自己引用了相同的列(換句話說,可能是索引/表掃描)。 此外,這應該與問題一致。 xD –
應該立即返回。沒有辦法讓一行在一列中有多個值。 – shawnt00
這將是使用exists
典型方法:
select * from transactions t
where t.actioncode = 'C' and exists (
select 1 from transactions t2
where t2.account_num = t.account_num and t2.postdate = t1.postdate
and t2.actioncode = 'W'
and t2.posttime < t1.posttime
)
- 1. 相同THEN塊的多個WHEN條件
- 2. 在SQL中的一個字段上的多個條件計數
- 3. 在同一個SQL查詢中有多個條件
- 4. 在不同的WHERE條件下更新同一個表中的多個字段
- 5. SQL - 在COUNT中指定一個條件/在同一個字段中多次返回一個值SELECT
- 6. 多個字段的T-SQL條件
- 7. 如果有多個條件
- 8. SQL:多個選擇只有一個條件有所不同
- 9. 如果其中一個字段在SQL中具有多個相同值,如何更新值
- 10. 枝條:如果有多個條件
- 11. 如果在多個陣列中有多個條件,則計數
- 12. 在SSMS/T-SQL中更新多個列:
- 13. 有多少WHEN .... THEN條件允許在SQL CASE中
- 14. SQL乘以一個字段,如果在同一組中的另一個字段包含一定值
- 15. 在SSMS中打開同一文件的多個副本
- 16. 如何驗證cakephp中同一字段的多個條目
- 17. 如果有多個條件else語句
- 18. 多個字符串comarisons使用或在一個xslt條件如果條件
- 19. 如何在同一個if語句上有多個條件?
- 20. Sql在同一個字段上多個Where子句
- 21. 在一個查詢中基於多個條件更新多個字段
- 22. 如何有條件地在Infopath中顯示一個字段?
- 23. 與多個字段不同,並與mongodb中的條件
- 24. api.constrain爲條件,如果其中一個字段爲空
- 25. 多在同一個字段中,選擇一個語句
- 26. 使用與THEN相同的字段的多個CASE語句的SQL查詢
- 27. 在同一列中有兩個或多個條件的條件格式
- 28. 沒有得到一個表中其他字段的所有結果,如果其中一個字段是由
- 29. 如何在不同條件下更新一個字段
- 30. 合併多個字段到一個文本字段在SQL Server
你能嘗試添加你已經嘗試添加一些背景一些代碼/ SQL查詢? – FishStix
一些示例數據和期望的結果將是最有幫助的 –
你的第一個問題是你有關係數據,並且你剛纔描述的大部分內容都屬於ON和WHERE謂詞條款。 –