2009-10-08 58 views
0

我想向select中返回的行添加一个金额。我一直在尝试的东西沿线︰在MySql中使用别名

select *, 
     3 as amount 
    from products 
where etc.... 

...它的工作原理。然而,我想要做的大量的行同样的事情在沿着线一气呵成:

select *, 
     3 as amount, 
     2 as amount, 
     4 as amount 
    from products 
where id in ('1','2','3') 

但是这样下去添加量列在返回的每个行不改变的值。

金额实际上是用户需要的金额,可能是1-99-4-2或任何数字。我想要得到如下结果的表格:products amount --------------------------- ... 1 ... 99 .. 。4 ... 2我只是想要在一列中安装所有这就是为什么我使用select?作为金额选择?作为金额,但它似乎并没有这样工作:-)

+1

你能告诉你如何期望的结果是什么样子? – 2009-10-08 22:34:52

回答

0

给每个别名一个独特的名称。例如,amount1,AMOUNT2等

编辑>如果您想列的总和,使用SELECT SUM(amount1,AMOUNT2,AMOUNT3,...)FROM ...

+0

这看起来像我需要的东西。谢谢。有没有办法让金额在一列之后? – Steve 2009-10-09 08:59:07

+0

我编辑了我的回复。那是你在找什么? – 2009-10-09 12:10:07

0

尝试用:

SELECT *, 3 AS amt1, 2 AS amt2, 4 AS amt3 FROM products WHERE id IN ('1','2','3') 
+0

看起来像我需要的东西。谢谢。有没有办法让金额在一列之后? 感谢您发布的代码,我是新来的,这真的很有帮助。 – Steve 2009-10-09 08:59:52

1
SELECT id, ELT(id, 3, 2, 4) AS amount 
FROM products 
WHERE id IN ('1', '2', '3')