-1
我是SQL新手,大部分時間使用R。然而,我的要求是我在SQL中履行這一點
我在MS SQL中有一個表,其中每行是一個「活動類型」,其值爲'A','B'或'C'。我總共有40列,如果數據正確,我需要檢查每一行。下面的一個小例子有幾列。
規則是如果活動類型是'A',那麼所有MonitorA_
的列應該有一個值,其他的都應該是NULL。如果Activity類型爲'B',那麼所有的MonitorB_列應該有一個值,其餘的都應該爲NULL
在下面的例子中,第1行和第2行都很好。但第3行和第4行有問題。在第3行中,活動類型是'B',但'MonitorC_ID'列中有一個值。
我希望能夠創建一個值爲True或False的新列,具體取決於它是否通過了測試。根據另一列的值創建新列
| Activity Type | MonitorA_ID | MonitorA_Date | MonitorA_Region | MonitorB_ID | MonitorB_Date | MonitorB_Region | MonitorC_ID | MonitorC_Date | MonitorC_Region |
|---------------|-------------|---------------|-----------------|-------------|---------------|-----------------|-------------|---------------|-----------------|
| B | NULL | NULL | NULL | 1 | 21/10/1985 | Brisbane | NULL | NULL | NULL |
| A | 45 | 25/03/1986 | Gold Coast | NULL | NULL | NULL | NULL | NULL | NULL |
| B | NULL | NULL | NULL | 67 | 13/03/1959 | Dubai | 45 | NULL | NULL |
| C | NULL | 13/08/1964 | NULL | NULL | NULL | NULL | 82 | 13/08/1964 | Dubai |
非常感謝。我現在會嘗試你的邏輯。 – MaxPD
你正在使用一個條件而不是IF的case語句,因爲... – Dresden
它工作。邏輯起作用。我沒有爲A,B和C創建三個不同的變量,而只是一個長嵌套的CASE語句。非常感謝J Greene!上帝祝福你! – MaxPD