在 select 中,当列具有特定值时添加假行

In a select add fake rows when a columns have a specifc value

我的查询是:

SELECT email,price
FROM invoice
WHERE email='123@xxx.com'

我想在每次字段 'price' 等于 '99.00' 时为每个结果添加一个假行,价值价格为 '21.00'

例子

正常结果

Email         Price
123@xxx.com   84,00
123@xxx.com   99,00
123@xxx.com   29,00
123@xxx.com   99,00

我想要这样的结果:

Email         Price
123@xxx.com   84,00
123@xxx.com   99,00
123@xxx.com   21,00
123@xxx.com   29,00
123@xxx.com   99,00
123@xxx.com   21,00

使用下面的查询得到预期的(按顺序修改的)结果 如果您使用此查询,您将不会获得顺序为

的结果
Email         Price
123@xxx.com   84,00
123@xxx.com   99,00
123@xxx.com   21,00
123@xxx.com   29,00
123@xxx.com   99,00
123@xxx.com   21,00

但是您将按以下顺序获得

Email         Price
123@xxx.com   84,00
123@xxx.com   99,00
123@xxx.com   29,00
123@xxx.com   99,00
123@xxx.com   21,00
123@xxx.com   21,00

要使用的查询是

SELECT email,price
FROM invoice
WHERE email='123@xxx.com'
UNION ALL
SELECT email,21,00
FROM invoice
WHERE email='123@xxx.com'
AND Price=99,00