在 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
我的查询是:
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