将Alias与MySql一起使用

时间:2009-10-08 22:23:45

标签: sql mysql

我想为select返回的行添加一笔金额。我一直在尝试以下方面:

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或任何数字。我想得到一张表格,结果如下:产品数量--------------------------- ... 1 ... 99 .. 4 ... 2我只想在一列中安装所有装载器,这就是为什么我使用select?作为金额选择?作为数量,但它似乎没有那样工作: - )

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

为每个别名指定唯一名称。例如,amount1,amount2等

编辑>如果您想要列的总和,请使用SELECT SUM(amount1,amount2,amount3,...)FROM ...

答案 2 :(得分:0)

尝试:

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