我使用一些过滤器在记录中创建了一个视图,并且必须添加仅包含来自另一个表的ID和SQL结果末尾的特定行的行。
所以预期的结果是这样的:
Column 1 | Column 2 | Column 3 | Column4
1 0001 | 565 | AM1 | DR01
.
.
59 TEST1 | | |
60 NON_IMMO | | |
字符串
第59行是第二个表中的id,第60行是specifix行。我的查询是这样的:
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工会按字母顺序。
Column 1 | Column 2 | Column 3 | Column4
1 0001 | 565 | AM1 | DR01
.
.
59 NON_IMMO | | |
60 TEST1 | | |
型
谢谢你的帮助。
3条答案
按热度按时间ulmd4ohb1#
将最后一个
UNION
更改为UNION ALL
,以跳过重复项的消除(这是对行排序的副作用)。应该够了。。字符串
z5btuh9x2#
工会不会强迫在记录上下命令。您需要另一个false第5列,以确保数据到最后。参见示例
字符串
此外,如果您的数据可能与末尾的内容匹配,则需要使用UNION ALL来确保记录仍然被添加。
6ojccjat3#
您的查询将变为:
您必须将查询 Package 在一个主查询中,在该主查询中可以应用全局ORDER BY
第二个:我删除了DISTINCT,因为UNION删除了重复项
字符串