|
Тема
|
Алтернатива на IIF()
|
|
Автор | Kingbullet (Нерегистриран) |
Публикувано | 04.05.06 18:52 |
|
Здравейте,
Имам следното :
mysql_query("select sum(table.field1*table.field2) from table")
Мога ли в зависимост от дадено условие в самото query да подавам вместо field2 , например field3 и т.н , тоест да стане нещо такова:
mysql_query("select sum(table.field1*iif(eExpresion,table.field2,table.field3)) from table")
Предварително Ви Благодаря
| |
Тема
|
Re: Алтернатива на IIF()
[re: Kingbullet]
|
|
Автор |
Bълk (умора няма) |
Публикувано | 04.05.06 19:08 |
|
select
case
when eExpresion
then sum(table.field1*table.field2)
else sum(table.field1*table.field3)
end
from table
това ли търсиш?
| |
Тема
|
Re: Алтернатива на IIF()
[re: Bълk]
|
|
Автор | Kingbullet (Нерегистриран) |
Публикувано | 04.05.06 21:45 |
|
Да, благодаря много.
Тъй като не мога да укажа на query-то да се изпълни в таблица или временен курсор, има ли някаква въъзможност примерно за вложен селект, т.е искам от един select един резултат и в същото време искам да извлека друг резултат от предишния.Надявам се да съм го обяснил правилно.
Благодаря
| |
Тема
|
Re: Алтернатива на IIF()
[re: Kingbullet]
|
|
Автор | ДядoMpaз (Нерегистриран) |
Публикувано | 08.05.06 13:40 |
|
В MySQL 4.1 и нагоре има subselect така че би трябвало да можеш да направиш несшо от сорта на
select sum(field1*if((select exp from table2),field2,field3)) from table1;
Иначе не виждам причина да не го направиш и с join
select sum(t1.field1*if(t2.exp,t1.field2,t1.field3) from table1 join table2 on ...;
Само за уточнение ислкам да допълня че в MySQL функцията е IF, не IIF
Ако пратиш структура на таблиците може да ти сглобя и заявката.
| |
Тема
|
Re: Алтернатива на IIF()
[re: ДядoMpaз]
|
|
Автор | Kingbullet (Нерегистриран) |
Публикувано | 09.05.06 13:28 |
|
Благодаря за помоща.
Респект
| |
|
|
|
|