比方說,我有一個表,看起來像這樣:的SQL Server 2012:可以在IIF功能拿起基於條件的最後分配的值
+---------+-----------+------------+
| Company | Quantity | Date |
+---------+-----------+------------+
| A | 10000 | 2016-08-01 |
| B | -5000 | 2016-08-01 |
| C | 5000 | 2016-08-01 |
| A | 5000 | 2016-08-02 |
| B | -2500 | 2016-08-02 |
| C | 5000 | 2016-08-02 |
| A | 0 | 2016-08-03 |
| B | 0 | 2016-08-03 |
| C | 5000 | 2016-08-03 |
+---------+-----------+------------+
我試圖創建一個名爲列的視圖IssuerLS如果數量爲+ ve,則列值爲'L',如果數量爲-ve,列值將爲'S'。這部分很容易與IIF的功能,但我也想用最後已知的值,如果數量爲0,所以我認爲應該是這樣的:
+---------+----------+------------+----------+
| Company | Quantity | Date | IssuerLS |
+---------+----------+------------+----------+
| A | 10000 | 2016-08-01 | L |
| B | -5000 | 2016-08-01 | S |
| C | 5000 | 2016-08-01 | L |
| A | 5000 | 2016-08-02 | L |
| B | -2500 | 2016-08-02 | S |
| C | 5000 | 2016-08-02 | L |
| A | 0 | 2016-08-03 | L |
| B | 0 | 2016-08-03 | S |
| C | 5000 | 2016-08-03 | L |
+---------+----------+------------+----------+
有沒有辦法做到讓IIF函數來如果數量爲0,則使用每個公司最後一次已知的'L'或'S'值?
謝謝。
IIF()只看到了它的輸入值。 'iif(somecondition,truevalue,falsevalue)'。你必須提供'somecondition'的邏輯,而不是iif()。 –
根據最後一個已知值添加L和S的邏輯是什麼 – TheGameiswar
因此,對於例如公司A,如果Quantity = 0,則返回數量不爲0的最後一個已知日期(在本例中爲2016-08 -02),並根據當天的數量(本例中爲「L」)添加「L」或「S」。 – MilesToGoBeforeISleep