【发布时间】:2015-07-31 10:40:18
【问题描述】:
我有下表:
table1
-------------------------
date | ID | name
-------------------------
13-jul-15 | 1 | abc
13-jul-15 | 2 | abc
14-jul-15 | 1 | def
13-jul-15 | 3 | abc
15-jul-15 | 3 | def
...
我要做的是匹配ID并表示如下:
date1 | name | date2 | name | ID
------------------------------------------
13-jul-15 | abc | 14-jul-15 | def | 1
13-jul-15 | abc | | | 2
13-jul-15 | abc | 15-jul-15 | def | 3
...
我使用了以下代码,但没有得到结果。
CREATE PROCEDURE get_details ( oresults1 OUT SYS_REFCURSOR ) AS
BEGIN
SELECT *
FROM ((SELECT date, ID FROM table1 WHERE name= "abc") T1
UNION ALL
(SELECT date, ID FROM table1 WHERE name= "def") T2
)
WHERE T1.ID= T2.ID
ORDER BY ID;
END;
我做错了什么?
【问题讨论】:
-
你想要一个加入而不是一个联合。
标签: oracle stored-procedures syntax plsql sys-refcursor