我有两张这样的表:
--------- - -----------
- X - Y - - X - VALUE -
--------- - -----------
-x1 - y1- - x1- value1-
-x2 - y2- - x1- value2-
-x3 - y3- - x2- value3-
--------- - x3- value4-
- x3- value5-
- x3- value6-
-------------
我希望像这样加入他们:
-----------------
- X - Y - VALUE -
-----------------
-x1 - y1- value1-
- - - value2-
-x2 - y2- value3-
-x3 - y3- value4-
- - - value5-
- - - value6-
-----------------
我不想复制X值。
任何人都可以显示此查询或参考somebodys示例吗?
谢谢!
答案 0 :(得分:2)
您似乎试图在第一次出现后删除X,Y值。您可以使用row_number()函数对大多数数据库执行此操作。我正在调用第一个表XY和第二个表X
select (case when seqnum = 1 then x end) as x,
(case when seqnum = 1 then y end) as y,
value
from (select xy.*, x.value,
row_number() over (partition by xy.x order by xy.value) as seqnum
from X join
XY
on x.x = xy.x
order by x, y