我有一些我無法弄清楚的邏輯難題。如何比較兩列與Oracle中表中兩列的組合?
我有一個表格有兩列代表PK。電棒和Prod_Colour
TableA
Prods, Date_, Prod_Colour
One | null | Red
One | null | Blue
Two | 2012-06-08| Blue
Two | null | Yellow
Three| null | Green
Three| 2012-06-08| Red
日期可叫做那些電棒不再可從該日起,一旦它再次可用但是日期是可以改變的。
我可以根據日期限制行數。
SELECT a.*
FROM TABLEA a
WHERE Date_ > '2012-06-11' or Date_ IS NULL
但我需要做的就是在這兩個電棒和Prod_Colour組合在排除子查詢使用此表...
,這不是一個很好的解釋,但基本上在上述電棒三個例子其中Prod_Colour ='Red'和Prods Two將排除Prod_Colour ='Blue',但Prod_Colour中的Prod_Colour將被包括在日期>今天或null中。
一如既往,我欣賞任何建議或提示。
在此先感謝。
要嘗試和進一步澄清我有一個查詢,從幾個不同的表中選擇,其中一個表中我需要包括prods和prod_Colour prods和Prod_Colour(組合爲每行的唯一標識符)可用TableA where date_表示它們可用。這些組合不會改變,但date_可以。我會使用tDate來指示今天作爲比較的日期。
Select O.Prods, O.Prod_Colour /*each combination needs to match the combination in TableA */
FROM TableB
Where O.Prods + O.Prod_C in (Select A.Prods + A.Prod_Colour
FROM TABLE A WHERE Date_ IS NULL or Date_ > tDate)
類似的東西。
這就是我一直在尋找的東西,你不知道我的努力變得多麼複雜。我需要徹底測試它,但最初的結果看起來完全像我需要的。 – dee