2017-10-16 77 views
-1

我想從oracle DB中獲取列值爲NULL的記錄。另外我在我的查詢中使用了unpivot。由於unpivot關鍵字不知何故NULL值未被選中。您可以請幫我關於如何在使用unpivot時獲得相同的行。oracle - 在unpivot查詢中查詢NULL值

編輯:

SELECT a.emp_id, a.emp_dept, b.emp_location 
    FROM employee a, 
     location b UNPIVOT (emp_id 
        FOR dummy_id 
        IN (emp_id AS 'EMP_ID', last_date AS 'LAST_DATE')) 
WHERE emp_id = 123 AND b.emp_loc_id = 'india' AND b.location IS NULL; 
+0

給您查詢+樣本數據的例子,爲了更好地理解這個問題。謝謝 – g00dy

+0

我不能提供數據或樣品查詢 – thistime012

+0

對不起,但這個問題是關閉我的朋友。如果沒有提供關於您所做的工作的至少一些信息,Stackoverflow不是一個獲得直接解決方案的地方。如果沒有這些信息,你會得到很多downvotes,並最終這個線程將被關閉... :-( – g00dy

回答

1

使用UNPIVOT INCLUDE NULLS

SQL Fiddle

的Oracle 11g R2架構設置

CREATE TABLE test (id, a, b, c, d) AS 
SELECT 1, 1, 2, 3, 4 FROM DUAL UNION ALL 
SELECT 2, 1, NULL, 3, NULL FROM DUAL; 

查詢1

SELECT * 
FROM test 
UNPIVOT INCLUDE NULLS (value FOR name IN (a, b, c, d)) 

Results

| ID | NAME | VALUE | 
|----|------|--------| 
| 1 | A |  1 | 
| 1 | B |  2 | 
| 1 | C |  3 | 
| 1 | D |  4 | 
| 2 | A |  1 | 
| 2 | B | (null) | 
| 2 | C |  3 | 
| 2 | D | (null) |