Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.20;
Скачать: CL | DM;

Вниз

Вопрос по синтаксису 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.02 c
4-1084525379
ИМХО
2004-05-14 13:02
2004.06.20
По поводу CreateProcess


1-1086542896
lena19
2004-06-06 21:28
2004.06.20
как получить из полного пути, имя вайла и его расширение


4-1084547937
TNewb
2004-05-14 19:18
2004.06.20
Вопрос по ShellExecute


6-1082858101
FatBase
2004-04-25 05:55
2004.06.20
Отправка почты: как всё объединить?


3-1085734293
Bizon
2004-05-28 12:51
2004.06.20
Установка IBExpert