我目前有一個大的SQL查詢(不是我的),我需要修改。我有一個交易和估價表。該交易與估值具有一對多關係。兩個表正在通過外鍵連接。限制內部查詢與外部查詢atttribute
如果沒有超過特定日期的交易評估存在,我被要求阻止任何交易(及其隨後的估價)被退回。我想我會實現這一點的方式是使用內部查詢,但我需要使內部查詢知道外部查詢和事務。因此,像:
SELECT * FROM TRANSACTION_TABLE T
INNER JOIN VALUATION_TABLE V WHERE T.VAL_FK = V.ID
WHERE (SELECT COUNT(*) FROM V WHERE V.DATE > <GIVEN DATE>) > 1
顯然,上面會無法正常工作,內部查詢是獨立的,我不能引用來自內外部查詢V基準。我該如何去做這件事,還是有一種更簡單的方法?
這只是在外部查詢中設置WHERE V.DATE>的情況,因爲我想阻止給定事務的任何評估,如果它們中的任何一個超過了指定的日期,而不僅僅是指定的日期。
非常感謝您提供的任何幫助。
謝謝,這似乎工作 –
我認爲你(OP)要''0'。如果是這樣,你可以使用'exists'來加快速度。 – shawnt00
再次閱讀問題,它也顯示您可能想要相反的條件:'= 0'或'not exists'。 – shawnt00