Форум: "Базы";
Текущий архив: 2004.06.20;
Скачать: [xml.tar.bz2];
ВнизВопрос по синтаксису SQL Найти похожие ветки
← →
axx (2004-05-28 08:01) [0]Здравствуйте господа. Вот сидел сейчас писал процедурку и возник у меня следующий вопрос:
Возможно ли писать в SQL запросе чтото вроде этого
---------
select Max(DataTime) from w_prod where ID,Parent_id=(Select ID,ParentID from w_prodtab where DISK=:Какоето значение)
---------
Я конечно же уже сделал все по другому. Просто стало ОЧЕНЬ интересно можно ли написать [ПОЛЕ1 и Поле2]=[Значение1 и Значение2]
ЗЫ Если вопрос ламерский то сильно не пинайте :-))
← →
roottim (2004-05-28 08:13) [1]
select Max(DataTime) from w_prod where (ID,Parent_id)=(Select ID,ParentID from w_prodtab where DISK=:Какоето значение)
← →
axx (2004-05-28 08:15) [2](ID,Parent_id) - ругается на ","
← →
sniknik © (2004-05-28 08:27) [3]а так не пройдет?
select Max(a.DataTime) from w_prod a INNER JOIN w_prodtab b ON a.ID=b.ID AND a.Parent_id=b.Parent_id where b.DISK=:Какоето значение
у тебя что ID не уникально? зачем двойная проверка, лучше по моему сделать его уникальным.
← →
BoxTer (2004-05-28 08:27) [4]Можно, тока нада маненько подправить твой код:
select Max(DataTime) from w_prod where ID,Parent_id in(Select ID,ParentID from w_prodtab where DISK=:Какоето значение)
← →
axx (2004-05-28 08:45) [5]То sniknik
я собственно так и сделал. А по поводу уникальности у меня FK на 2 поля ID,Parent_id в таблице w_prod.
То BoxTer
"ID,Parent_id in" и снова на "," матерится. :-)
← →
axx (2004-05-28 08:46) [6]То sniknik
Вернее не FK а PK
← →
Sandman25+1 (2004-05-28 09:03) [7]Стандартный select.
select Max(A.DataTime) from w_prod A, w_prodtab B
where A.ID = B.id
and A.ParentId=B.parentId
and B.DISK=:Какоето значение
← →
slgeo © (2004-05-28 09:24) [8]
> select Max(DataTime) from w_prod where ID,Parent_id=(Select
> ID,ParentID from w_prodtab where DISK=:Какоето значение)
Помнится Грабер еще писал, что такой синтаксис не входит в стандарт SQL и возможность его использования определяется на усмотрение разработчика СУБД. Касательно IB могу сказать, что он не поддерживает такой синтаксис, а вот в Oracle такой вызов проходит на ура.
← →
DenK_vrtz © (2004-05-28 10:08) [9]>slgeo © (28.05.04 09:24) [8]
>а вот в Oracle такой вызов проходит на ура
а вот с этого места по подробнее, какая версия ORACLE и сам запрос можно в студию?
← →
Соловьев © (2004-05-28 10:11) [10]
> axx (28.05.04 08:01)
ХП не пробовал?
← →
slgeo © (2004-05-28 10:16) [11]
>to DenK_vrtz © (28.05.04 10:08) [9]
Версия 8.1.7
SELECT *
FROM CATEG c
WHERE (c.ID,c.COD) =
(SELECT id,r.COD
FROM REFDOC r WHERE r.id=c.id)
Запрос правда не имеет глубокого смысла :) , но синтаксически он правильный
← →
DenK_vrtz © (2004-05-28 10:26) [12]>slgeo © (28.05.04 10:16) [11]
гы! :)
WHERE (поле,поле1) и where поле,поле1 - две большие разницы,
отсюда и вопрос, а так все ок (roottim (28.05.04 08:13) [1] )! :)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.06.20;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.044 c