Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос по синтасису coalesce в оракле


Страницы:   1 2 3 4

Rule ©   (2005-07-26 16:41:00) 

подскажите пожалуйста как сделать вот такой запрос
select coalesce (field1,0) from table1

Синтаксис Оракла требует чтоб второй параметр, в моем случае "0" тоже был полем ...
как обойти

вариант if then  не подходит так как в этом случае field1  надо писать два раза,  а у меня єто довольно  большой подзапрос ....
подскажите пожалуйста ...


Fay   (2005-07-27 17:34:00) [21]

2 ANB ©   (27.07.05 17:30) [59]
Особенно это приятно в анонимных блоках, где есть ограничение на вложенность (3).


ANB   (2005-07-27 17:30:00) [22]


> evvcom ©   (27.07.05 15:00) [57]

Это легко обходится вложенными запросами.


Fay   (2005-07-27 17:20:00) [23]

2 pasha_golub ©   (26.07.05 21:00) [51]

C Oracle не интересно 8). Он один справится с
select
 T1.*
from Table1 T1 left join Table2 T2 on T1.ID = T2.ID
where T2.ID is null
без join.

Только вот выглядеть этот запрос будет не очень читаемо, особенно в случае нескольких объединений.


evvcom   (2005-07-27 15:00:00) [24]


> Мне с плюсиками все равно больше нравится

Хозяин - барин. А если
> построить сложную логику типа "inner join a ... left join
> b ... right join с ... full join d ..." в where у меня в
> свое время не получилось и "старики оракла" тоже только
> плечами пожали. Оракл ругался на использование этих плюсов
> в нескольких строках.
А?


ANB   (2005-07-27 14:56:00) [25]


> evvcom ©   (27.07.05 14:52) [55]
А, пусть жрет. Мне с плюсиками все равно больше нравится


evvcom   (2005-07-27 14:52:00) [26]


> - и в 9 не жрет . . .

Еще как жрет! Уж это точно.


ANB   (2005-07-27 13:49:00) [27]


> Fay ©   (26.07.05 17:39) [42]
- и в 9 не жрет . . .


pasha_golub   (2005-07-27 13:45:00) [28]

Up


evvcom   (2005-07-26 22:32:00) [29]


> Ну, допустим Oracle. Раз у него до 9 версии не было этих
> самых JOIN'ов.

Не было в синтаксисе конструкции JOIN, но само соединение было:
from a, b where a.id=b.id - это аналог INNER JOIN
where a.id=b.id(+) - это вроде LEFT JOIN, но с плюсами я видел, но толком никогда сам не использовал, поэтому этот синтаксис и смысл (LEFT или RIGHT в данном случае) не помню. Поэтому не пинать.
Плюсы с обеих сторон - это FULL JOIN. Но построить сложную логику типа "inner join a ... left join b ... right join с ... full join d ..." в where у меня в свое время не получилось и "старики оракла" тоже только плечами пожали. Оракл ругался на использование этих плюсов в нескольких строках.
Кому-то может и не нравятся JOIN-ы, но мне они кажутся намного информативнее, и код с ними наиболее наглядным и читабельным.

> Rule ©   (26.07.05 18:03) [47]
> evvcom ©   (26.07.05 17:52) [44]
> придумать несолжно ...

Гораздо сложнее, чем ты думаешь. Если ты не знаешь, как решить задачу неизвестным тебе способом, это не значит, что она им не решается. :) Но попробуй.


pasha_golub   (2005-07-26 21:00:00) [30]

Fay ©   (26.07.05 20:23) [50]
Ы-ы-ы... :0)

Ну, допустим Oracle. Раз у него до 9 версии не было этих самых JOIN'ов.

А вообще-то, хотелось бы пример с использованием ANSI SQL.


Fay   (2005-07-26 20:23:00) [31]

2 pasha_golub ©   (26.07.05 19:26) [49]
Сервер какой?


pasha_golub   (2005-07-26 19:26:00) [32]

Сорри за офтоп.

Я вот (только не плюйтесь) до недавнего времени свято верил, что JOIN'ы это происки капиталистов. Что всегда можно перепесать запрос с соединением как запрос без соединения.

Прошло немало времени. Но мысль таки в голове осталась. Прав ли я? И если не прав, то можно ли привести пример такого запроса. Спасибо


Johnmen   (2005-07-26 18:05:00) [33]

>Rule ©   (26.07.05 18:03) [46]

Да.


Rule   (2005-07-26 18:03:00) [34]

evvcom ©   (26.07.05 17:52) [44]
придумать несолжно ... постараюсь до завтра придумать, если не забуду ...


Rule   (2005-07-26 18:03:00) [35]

Johnmen ©   (26.07.05 17:44) [43]
а неявные - это WHERE или что-то ещё ?


Rule   (2005-07-26 18:02:00) [36]

Fay ©   (26.07.05 17:39) [42]
что серьезно ? ... а как же без них обходились то ?


evvcom   (2005-07-26 17:52:00) [37]


> Johnmen ©   (26.07.05 17:28) [38]
> >evvcom ©  
>
> пост [27]

Да, почитал я этот пост. Может быть, но думаю, что нет. Если бы реальный запрос был, тогда можно было бы попробовать поспорить. А так, слова, слова, слова... :)


Johnmen   (2005-07-26 17:44:00) [38]

Явные джоины, т.е. слово "JOIN"


Fay   (2005-07-26 17:39:00) [39]

2 ANB ©   (26.07.05 17:37) [41]
Никак. JOIN-ы появились в девятке


ANB   (2005-07-26 17:37:00) [40]

А как в 8 join то запихать ? У меня не жрет  . . .


Страницы:   1 2 3 4

Наверх

Титульная страница Поиск, карта сайта Написать письмо