Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> MS SQL Server, Поправте запрос 
V
    Опции темы
Moid
Дата 16.12.2008, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 396
Регистрация: 27.3.2006

Репутация: нет
Всего: 3



Код

select p1, p2 ,P3 =
      CASE
         ...       
      END
from table1

where P3 = 1 


Нужно что бы вывелись строки, у которых P3 = 1,
 но так как P3 - это новое поле именно так сравнить нельзя, ругается, что не видит P3 в where.

Подскажите как сранить.


--------------------
"Всё должно быть сделано настолько простым, насколько это возможно, но не проще" (с) А.Эйнштейн
PM MAIL   Вверх
ТоляМБА
Дата 16.12.2008, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


Профиль
Группа: Завсегдатай
Сообщений: 1607
Регистрация: 15.12.2004

Репутация: 4
Всего: 252



Код
select p1, p2 ,P3 =
      CASE
         ...       
      END
from 
(Select *
from table1
where P3 = 1 ) as TempTable


Добавлено через 5 минут и 15 секунд
Moid, но интересно зачем к Р3 привязывать Case если оно всегда будет равно единице?!
PM   Вверх
Akina
Дата 16.12.2008, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 45
Всего: 454



Цитата(ТоляМБА @  16.12.2008,  13:47 Найти цитируемый пост)
интересно зачем к Р3 привязывать Case если оно всегда будет равно единице

У него это вычисляемое поле... 

Moid
Код

Select *
From 
(
  select p1, p2 ,P3 =
      CASE
         ...       
      END
  from table1
)
where P3 = 1 



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Moid
Дата 16.12.2008, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 396
Регистрация: 27.3.2006

Репутация: нет
Всего: 3



ТоляМБА, не работает.

Цитата

но интересно зачем к Р3 привязывать Case если оно всегда будет равно единице?!


ну... да точно!!!

Цитата

У него это вычисляемое поле... 


Да именно, но если выводить в результат только одно его значение, то все вычесления можно записать в where

Спасибо!

Это сообщение отредактировал(а) Moid - 16.12.2008, 13:07


--------------------
"Всё должно быть сделано настолько простым, насколько это возможно, но не проще" (с) А.Эйнштейн
PM MAIL   Вверх
ТоляМБА
Дата 16.12.2008, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


Профиль
Группа: Завсегдатай
Сообщений: 1607
Регистрация: 15.12.2004

Репутация: 4
Всего: 252



Akina, после закрывающейся скобки надо ставить as Псевдоним, насколько я помню  smile 


Цитата(Akina @  16.12.2008,  14:56 Найти цитируемый пост)
Select *From 
(  select p1, p2 ,P3 =
      CASE
         ...
             END
  from table1) as ABC 
where P3 = 1 


Moid, а мне то "+" за что?!



Это сообщение отредактировал(а) ТоляМБА - 16.12.2008, 13:11
PM   Вверх
Akina
Дата 16.12.2008, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 45
Всего: 454



Цитата(ТоляМБА @  16.12.2008,  14:09 Найти цитируемый пост)
после закрывающейся скобки надо ставить as Псевдоним, насколько я помню

Иной раз можно этим и принебречь. Тут как раз такой случай.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




[ Время генерации скрипта: 0.0481 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.