在此先感謝您的幫助。這是場景。我有兩個表格:批次(存儲食物項目的批量信息)和Trans(存儲批次項目中的庫存交易)。T-SQL:聚集和/或條件子查詢條件
我想寫一個查詢,列出了所有基於where子句不知何故3個條件超過90天的交易:
- CurrentQty(上大量表)> 0
- 如果TRANSACTIONTYPE =裝運和TransactionDate> 90日(從當前日期)OR ..
- IF TRANSACTIONTYPE =接收和TransactionDate> 90日(從當前日期)
注:對於每個LO噸,可能有許多不同的相同類型的交易,如附圖所示。可能有很多貨物或收據。我需要能夠爲特定交易類型選擇MAX(TransactionDate)並檢查它是否超過90天然後顯示記錄。
每個批次的交易表中至少會存在這兩種交易類型中的一種,可以是發貨或收貨。如果某個批次上沒有裝運交易類型,那麼我想爲「收貨」交易類型使用Max(TransactionDate)> 90條件。
我需要能夠評估每個批次的所有這些條件,它是特定的交易。
下面是我開始編寫的查詢,但後來被困在如何構造其餘部分。
SELECT
LOTS.LOTNUMBER, TRANS.ITEMNUMBER, TRANS.DESCRIPTION,
TRANS.TRANSACTIONTYPE, TRANS.TRANSACTIONDATE, TRANS.WAREHOUSE,
TRANS.QUANTITY
FROM
LOTS
INNER JOIN
TRANS ON LOTS.LOTNUMBER = TRANS.LOTNUMBER
WHERE
LOTS.CURRENTQUANTITY > 0
請修正您的CAPS LOCK。當你輸入你的問題的標題時,它似乎已經成爲了一個受害者。要麼是這樣,要麼你對我們很不禮貌,在這種情況下你也需要停止。我們都可以閱讀得很好,發表你的問題不會讓你的答案更快,而在美國發表真的很煩人和不禮貌的行爲。 –
您是否每個ItemNumber限制爲一次LotNumber?否則這有點奇怪。 – DaveX
你好肯懷特,我很抱歉,我今天剛剛加入這個論壇,仍然試圖弄清楚包括適當的協議。我很抱歉。 – Marcos