我使用一些过滤器在记录中创建了一个 View ,并且我必须添加仅包含来自另一个表的ID和sql结果末尾的特定行的行。
因此,预期结果是这样的:
Column 1 | Column 2 | Column 3 | Column4
1 0001 | 565 | AM1 | DR01
.
.
59 TEST1 | | |
60 NON_IMMO | | |
第59行是第二个表的ID,第60行是指定行。
我的查询是这样的:
SELECT DISTINCT a.asset_id
, a.serial_id
, a.VIN
, b.project_id
FROM ps_asset a
WHERE --Some conditions
UNION
SELECT PO_GROUP_ID
,' '
, ' '
, ' '
FROM PS_PO_GROUP_TBL
UNION
SELECT 'NON_IMMO'
,' '
,' '
,' '
FROM dual
但是问题是使用这个,我没有得到最后的特定行。
我觉得SGBD会显示按字母顺序排列的2个UNIONS。
Column 1 | Column 2 | Column 3 | Column4
1 0001 | 565 | AM1 | DR01
.
.
59 NON_IMMO | | |
60 TEST1 | | |
感谢帮助。
最佳答案
将最后一个UNION
更改为UNION ALL
以跳过消除重复项(副作用是对行进行排序)。那应该足够了...
...
FROM PS_PO_GROUP_TBL
UNION ALL
SELECT 'NON_IMMO'
...
关于sql - 使用UNION在SQL Select的末尾添加一行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48024932/