Использование псевдонима с MySql - PullRequest
0 голосов
/ 09 октября 2009

Я хочу добавить сумму к строкам, возвращаемым из выбора. Я пытался что-то вроде:

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 ]

1 голос
/ 09 октября 2009
SELECT  id, ELT(id, 3, 2, 4) AS amount
FROM    products 
WHERE   id IN ('1', '2', '3')
0 голосов
/ 09 октября 2009

Попробуйте с:

SELECT *, 3 AS amt1, 2 AS amt2, 4 AS amt3 FROM products WHERE id IN ('1','2','3')
0 голосов
/ 09 октября 2009

Дайте каждому псевдониму уникальное имя. Например, сумма1, сумма2 и т. Д.

РЕДАКТИРОВАТЬ> Если вы хотите сумму столбцов, используйте SELECT SUM (сумма1, сумма2, сумма3, ...) ОТ ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...