Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
 Какие СУБД позволяют делать SELECT from (select ...) или JOIN (select...) ?  [new]
genok
Member

Откуда: med-registratura.net
Сообщений: 399
сабж
И вообще - есть ли такие в природе ?
22 авг 05, 09:57    [1805861]     Ответить | Цитировать Сообщить модератору
 Re: Какие СУБД позволяют делать SELECT from (select ...) или JOIN (select...) ?  [new]
ASCRUS
Member

Откуда: МО Электросталь
Сообщений: 5994
genok
сабж
И вообще - есть ли такие в природе ?

Шутка что ли ? Во всех нормальных СУБД есть вложенные подзапросы.
22 авг 05, 10:16    [1805918]     Ответить | Цитировать Сообщить модератору
 Re: Какие СУБД позволяют делать SELECT from (select ...) или JOIN (select...) ?  [new]
genok
Member

Откуда: med-registratura.net
Сообщений: 399
т.е. вы хотите сказать что любая СУБД скушает такой запрос

select * from (select * from table1) ?

или такой

select field1
from table1 a
join (select field2,id from table2) b on a.id=b.id

так по вашему ?
или просто невнимательно читаете ?
22 авг 05, 10:39    [1805992]     Ответить | Цитировать Сообщить модератору
 Re: Какие СУБД позволяют делать SELECT from (select ...) или JOIN (select...) ?  [new]
ChA
Member

Откуда: Москва
Сообщений: 11381
genok
т.е. вы хотите сказать что любая СУБД скушает такой запрос
select * from (select * from table1) ?
Informix по 7.xx включительно - "не скушает", позже - не в курсе...
22 авг 05, 10:47    [1806036]     Ответить | Цитировать Сообщить модератору
 Re: Какие СУБД позволяют делать SELECT from (select ...) или JOIN (select...) ?  [new]
roman74
Member

Откуда: Komsomolsk-na-Amure
Сообщений: 200
Ну по крайней мере вот такой в MS SQL работает
SELECT a.* FROM (SELECT * FROM table1) a
22 авг 05, 10:54    [1806076]     Ответить | Цитировать Сообщить модератору
 Re: Какие СУБД позволяют делать SELECT from (select ...) или JOIN (select...) ?  [new]
roman74
Member

Откуда: Komsomolsk-na-Amure
Сообщений: 200
И вот такой работает
SELECT a.*
FROM
(SELECT * FROM Table1) a
join
(SELECT * FROM Table1) as b
on 1=1
---------------------------------------------------------
Сквозь бледную параболу восторга...
22 авг 05, 10:57    [1806101]     Ответить | Цитировать Сообщить модератору
 Re: Какие СУБД позволяют делать SELECT from (select ...) или JOIN (select...) ?  [new]
AAron
Member

Откуда: Москва
Сообщений: 4324
собственно, подзапросы описаны в стандарте. А большинство современных СУБД в той или иной мере реализуют как минимум стандарт 95 года. Некоторые стараются и более поздние.
22 авг 05, 11:03    [1806127]     Ответить | Цитировать Сообщить модератору
 Re: Какие СУБД позволяют делать SELECT from (select ...) или JOIN (select...) ?  [new]
ASCRUS
Member

Откуда: МО Электросталь
Сообщений: 5994
genok
т.е. вы хотите сказать что любая СУБД скушает такой запрос

select * from (select * from table1) ?

или такой

select field1
from table1 a
join (select field2,id from table2) b on a.id=b.id

так по вашему ?
или просто невнимательно читаете ?

я же сказал - во всех нормальных СУБД :) Те же MSSQL, Oracle, DB2, Sybase ASA вполне спокойно воспримут такой запрос, если конечно не брать их старые доисторические версии. Причем более того - не только пережуют, но еще неплохо оптимизируют. Плюс в каждой СУБД могут быть свои расширения, например в ASA можно еще написать вложенный подзапрос с внутренним соединением (как в EXISTS или IN):
SELECT a.field1, x.count_field2
FROM table1 AS a,
  LATERAL (
    SELECT count(field2) AS count_field2
    FROM table2 b
    WHERE a.id = b.id
  ) AS x
22 авг 05, 11:09    [1806147]     Ответить | Цитировать Сообщить модератору
 Re: Какие СУБД позволяют делать SELECT from (select ...) или JOIN (select...) ?  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 32896

Привет, AAron!
Ты пишешь:

AAron
A> собственно, подзапросы описаны в стандарте.
A> А большинство современных СУБД в той или
A> иной мере реализуют как минимум
A> стандарт 95 года.
^^^^^^^^^^^^^^^^^^
Нет такого!

--
With best regards, Мимопроходящий.

Posted via ActualForum NNTP Server 1.2

22 авг 05, 11:47    [1806273]     Ответить | Цитировать Сообщить модератору
 Re: Какие СУБД позволяют делать SELECT from (select ...) или JOIN (select...) ?  [new]
AAron
Member

Откуда: Москва
Сообщений: 4324
тьфу... перепутал
22 авг 05, 11:56    [1806299]     Ответить | Цитировать Сообщить модератору
 Re: Какие СУБД позволяют делать SELECT from (select ...) или JOIN (select...) ?  [new]
vybegallo
Guest
ASCRUS
genok
сабж
И вообще - есть ли такие в природе ?

Шутка что ли ? Во всех нормальных СУБД есть вложенные подзапросы.


Sybase IQ не скушал.
Informix не понимает.
22 авг 05, 21:49    [1808448]     Ответить | Цитировать Сообщить модератору
 Re: Какие СУБД позволяют делать SELECT from (select ...) или JOIN (select...) ?  [new]
landy
Member

Откуда:
Сообщений: 1557
Postgresql 8.0
22 авг 05, 23:13    [1808526]     Ответить | Цитировать Сообщить модератору
 Re: Какие СУБД позволяют делать SELECT from (select ...) или JOIN (select...) ?  [new]
nkulikov
Guest
Informix c 9.4 должен понимать ANSI синтаксис.
23 авг 05, 10:19    [1809000]     Ответить | Цитировать Сообщить модератору
 Re: Какие СУБД позволяют делать SELECT from (select ...) или JOIN (select...) ?  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 32896

Привет, nkulikov!
Ты пишешь:

nkulikov
n> Informix c 9.4 должен понимать ANSI синтаксис.

Устало так: КАКОЙ ИМЕННО ANSI ?..

--
With best regards, Мимопроходящий.

Posted via ActualForum NNTP Server 1.2

23 авг 05, 12:18    [1809560]     Ответить | Цитировать Сообщить модератору
 Re: Какие СУБД позволяют делать SELECT from (select ...) или JOIN (select...) ?  [new]
genok
Member

Откуда: med-registratura.net
Сообщений: 399
Мимопроходящий
Устало так: КАКОЙ ИМЕННО ANSI ?..

Наш усталый МимоПопадающий БОГ..... :)

Устал - смени обстановку, а то плохими болезнями заболеешь
23 авг 05, 14:03    [1810105]     Ответить | Цитировать Сообщить модератору
 Re: Какие СУБД позволяют делать SELECT from (select ...) или JOIN (select...) ?  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 32896

Привет, genok!
Ты пишешь:

genok
g> Мимопроходящий
g> Устало так: КАКОЙ ИМЕННО ANSI ?..

g> Наш усталый МимоПопадающий БОГ..... :)

g> Устал - смени обстановку, а то плохими болезнями заболеешь

Мальчик, пшолнах.
По поводу ANSI, воспользуйся поиском.

--
With best regards, Мимопроходящий.

Posted via ActualForum NNTP Server 1.2

23 авг 05, 14:37    [1810313]     Ответить | Цитировать Сообщить модератору
 Re: Какие СУБД позволяют делать SELECT from (select ...) или JOIN (select...) ?  [new]
genok
Member

Откуда: med-registratura.net
Сообщений: 399
ну вот, а он уже заболел :(
23 авг 05, 17:16    [1811187]     Ответить | Цитировать Сообщить модератору
 Re: Какие СУБД позволяют делать SELECT from (select ...) или JOIN (select...) ?  [new]
Glory
Member

Откуда:
Сообщений: 104751
genok
Мимопроходящий
Устало так: КАКОЙ ИМЕННО ANSI ?..

Наш усталый МимоПопадающий БОГ..... :)

Устал - смени обстановку, а то плохими болезнями заболеешь

ANSI SQL стандартов _несколько_. В зависимости от года их опубликования.
В спецификации каждой СУБД(версии СУБД) пишется какой ANSI SQL она поддерживает и в каком объеме.
23 авг 05, 18:30    [1811455]     Ответить | Цитировать Сообщить модератору
 Re: Какие СУБД позволяют делать SELECT from (select ...) или JOIN (select...) ?  [new]
_Dog
Member

Откуда: от туда...
Сообщений: 265
vybegallo
ASCRUS
genok
сабж
И вообще - есть ли такие в природе ?

Шутка что ли ? Во всех нормальных СУБД есть вложенные подзапросы.


Sybase IQ не скушал.
Informix не понимает.


IQ такое кушает, ищите другую причину
23 авг 05, 23:47    [1811879]     Ответить | Цитировать Сообщить модератору
 Re: Какие СУБД позволяют делать SELECT from (select ...) или JOIN (select...) ?  [new]
vybegallo
Guest
_Dog
vybegallo
ASCRUS
genok
сабж
И вообще - есть ли такие в природе ?

Шутка что ли ? Во всех нормальных СУБД есть вложенные подзапросы.


Sybase IQ не скушал.
Informix не понимает.


IQ такое кушает, ищите другую причину


1> select feed_key from (select feed_key from _cma)
2> go
Msg 102, Level 15, State 0:
ASA Error -131: Syntax error near '(end of line)' on line 2

---- Adaptive Server® IQ Reference Manual, page 562 ------
Note In Adaptive Server IQ, subqueries (nested selects) are not allowed in the
select list. This is a difference between Adaptive Server IQ and Adaptive
Server Anywhere.
------------
24 авг 05, 01:25    [1811973]     Ответить | Цитировать Сообщить модератору
 Re: Какие СУБД позволяют делать SELECT from (select ...) или JOIN (select...) ?  [new]
ASCRUS
Member

Откуда: МО Электросталь
Сообщений: 5994
Интересно, а алиас для подзапроса в WatcomSQL указывать кто будет ? Вот так у Вас будет нормально работать:
select feed_key from (select feed_key from _cma) as q
24 авг 05, 07:45    [1812082]     Ответить | Цитировать Сообщить модератору
 Re: Какие СУБД позволяют делать SELECT from (select ...) или JOIN (select...) ?  [new]
vybegallo
Guest
ASCRUS
Интересно, а алиас для подзапроса в WatcomSQL указывать кто будет ? Вот так у Вас будет нормально работать:
select feed_key from (select feed_key from _cma) as q


В 12.6 появилось - в 12.5 еще не было:

A subquery can be used anywhere that a column name can be used except in
the select list of another SELECT statement.
24 авг 05, 19:32    [1814940]     Ответить | Цитировать Сообщить модератору
 Re: Какие СУБД позволяют делать SELECT from (select ...) или JOIN (select...) ?  [new]
_Dog
Member

Откуда: от туда...
Сообщений: 265
vybegallo
ASCRUS
Интересно, а алиас для подзапроса в WatcomSQL указывать кто будет ? Вот так у Вас будет нормально работать:
select feed_key from (select feed_key from _cma) as q


В 12.6 появилось - в 12.5 еще не было:

A subquery can be used anywhere that a column name can be used except in
the select list of another SELECT statement.


в 12.5 тоже работало. И в 12.4.3. кажется тоже

select * from (SELECT аа, dd, ddd, Count(ddd) count
FROM call GROUP BY aa, dd, ddd) a
25 авг 05, 00:15    [1815172]     Ответить | Цитировать Сообщить модератору
 Re: Какие СУБД позволяют делать SELECT from (select ...) или JOIN (select...) ?  [new]
hvlad
Guest
vybegallo
---- Adaptive Server® IQ Reference Manual, page 562 ------
Note In Adaptive Server IQ, subqueries (nested selects) are not allowed in the
select list.
Это (select (select...) from ...) несколько отличается от select ... from (select ...)
25 авг 05, 01:15    [1815204]     Ответить | Цитировать Сообщить модератору
 Re: Какие СУБД позволяют делать SELECT from (select ...) или JOIN (select...) ?  [new]
ASCRUS
Member

Откуда: МО Электросталь
Сообщений: 5994
vybegallo
ASCRUS
Интересно, а алиас для подзапроса в WatcomSQL указывать кто будет ? Вот так у Вас будет нормально работать:
select feed_key from (select feed_key from _cma) as q


В 12.6 появилось - в 12.5 еще не было:

A subquery can be used anywhere that a column name can be used except in
the select list of another SELECT statement.

На 12.5 просто замечательно работает :)
25 авг 05, 07:19    [1815301]     Ответить | Цитировать Сообщить модератору
Все форумы / Сравнение СУБД Ответить