2014-09-01 37 views
0

我想要使用select查询来拉同一个记录两次,但第二次为其中一个字段使用不同的值。选择查询来拉同样的记录两次

所以我有,目前提取数据并显示例如下面的一个选择查询:

ProductCode Description Price Currency 
123   Product1  200  CAD 

现在我想用select查询提取相同记录中的第二次,但不是有CAD我要使用美元,所以它应该显示:

ProductCode Description Price Currency 
123   Product1  200  CAD 
123   Product1  200  USD 

的“CAD”是硬编码为现在的选择查询,我希望这是有道理的,如。现在的选择查询是:

select productcode,description,price, 'CAD' as Currency from product_table 

回答

1

工会怎么样?

SELECT ProductCode, Description, price_in_cad as Price, 'CAD' as Currency FROM product_table 
UNION ALL 
SELECT ProductCode, Description, price_in_usd as Price, 'USD' as Currency FROM product_table; 

或者,如果您想订购或过滤比你可以从它让子查询:

SELECT result.* FROM (
    SELECT ProductCode, Description, price_in_cad as Price, 'CAD' as Currency FROM product_table 
UNION ALL 
    SELECT ProductCode, Description, price_in_usd as Price, 'USD' as Currency FROM product_table 
) result ORDER BY Price; 
+0

天哪,居然是那么容易,对于感谢的UNION ALL工作! – niceguy 2014-09-02 02:23:30