|
|
|
|
|
для: kukuikar
(27.05.2008 в 21:27)
| | во-первых всё зависит от того сколько там будет использоваться этих id
во-вторых, смотря какя структура бд (индексы и т.д.)
надо смотреть explain plan и оценивать узкие места
вообще вопрос сложный, слишком много вопросов. | |
|
|
|
|
|
|
|
для: ronin80
(27.05.2008 в 17:47)
| | Спасибо. Пробовал поразному но так - нет. Все работает. Спасибо еще раз.
А может есть более элегантное решение этого вопроса?
Поделитесь пожалуйста... | |
|
|
|
|
|
|
|
для: kukuikar
(27.05.2008 в 16:46)
| | SELECT SUM(GG) FROM
(
SELECT `opt`*1 AS GG FROM `tbl` WHERE `id`='1'
UNION
SELECT `opt`*1 AS GG FROM `tbl` WHERE `id`='5'
) as union_table
union_table это псевдоним | |
|
|
|
|
|
|
|
для: kukuikar
(27.05.2008 в 14:12)
| | Значит с запросом разобрался так:
SELECT `opt`*1 AS GG FROM `tbl` WHERE `id`='1'
UNION
SELECT `opt`*1 AS GG FROM `tbl` WHERE `id`='5'
|
выдает все что мне надо.
А как мне получить сразу сумму.
SELECT SUM(GG) WHERE
(
SELECT `opt`*1 AS GG FROM `tbl` WHERE `id`='1'
UNION
SELECT `opt`*1 AS GG FROM `tbl` WHERE `id`='5'
)
|
не работает. | |
|
|
|
|
|
|
| Здравствуйте.
Такая незадача... :)
Есть несколько параметров сгенерирвоанных в PHP-коде. Мне надо выполнить такой запрос результатом которого будут
набор произведений поля на число из PHP-кода.
Вот запрос неверный:
SELECT `opt`*2,`opt`*5,`opt`*15,`opt`*13 FROM `tbl` WHERE `id`='1' OR `id`='7' OR `id`='9' OR `id`='15'
Только результат не тот. Для каждого id набор получается, т.е. сколько id столько и строк. А мне надо чтобы для id=1 opt*2, для id=7 opt*5 и т.д.
И еще. Надо получить сумму произведений этого набора.
Заранее спасибо. | |
|
|
|
|