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

Вниз

SQL InterBase?   Найти похожие ветки 

 
volser   (2003-11-29 13:33) [0]

Есть запрос:

select t1.f1,
(select t2.f2 from t2 where t2.id = t1.id) as f3
from t1

Как в этом запросе поставить ограничение на поле f3?


 
Nikolay M. ©   (2003-11-29 13:39) [1]

Какого рода ограничение?


> select t1.f1,
> (select t2.f2 from t2 where t2.id = t1.id AND t2.f2 <= 10) as f3
> from t1

?


 
Michail Dalakov ©   (2003-11-29 13:51) [2]

В IB боюсь, что так просто не получится, но решение есть
можешь создать f3 как View и ставит свои ограничения, можешь использовть также не очень хорошее решение в лоб вместо ограничений на f3 ставить их на(select t2.f2 from t2 where t2.id = t1.id)


 
Zacho ©   (2003-11-30 19:11) [3]


> volser (29.11.03 13:33)

Самое ,imho, правильное решение:
select t1.f1,
t2.f2
from t1
LEFT JOIN T2 ON T2.ID=T1.ID
WHERE T2.F2 ...


 
volser   (2003-12-03 15:08) [4]

-Мне надо немного не то:

select t1.f1,
(select count(t2.f2) from t2 where t2.id = t1.id) as f3
from t1

Если во вложеном селекте использовать агрегатные функции, то ни один из способов не подходит.
Может можно както используя HAVING?

-И еще вопрос если написать:

select t1.f1,
(select count(t2.f2) from t2 where t2.id = t1.id) as f3
from t1
where (select count(t2.f2) from t2 where t2.id = t1.id)>0


То в таком случае сколько раз выполняется запрос

(select count(t2.f2) from t2 where t2.id = t1.id)
?


 
Johnmen ©   (2003-12-03 15:13) [5]

1. Конкретно укажи, что необходимо
2. Столько раз, сколько записей в t1


 
Fay   (2003-12-03 15:17) [6]

Не устроит?
select t1.f1, count(t1.f2)
from t1 left join t2 on t1.id = t2.id
group by t1.f1
having count(t1.f2)>0


 
volser   (2003-12-03 15:18) [7]

Необходимо

select t1.f1,
(select count(t2.f2) from t2 where t2.id = t1.id) as f3
from t1


Те записи где count > число


 
Johnmen ©   (2003-12-03 15:23) [8]

select t1.f1, count(t2.f2)
from t1
join t2 on t1.id = t2.id
group by t1.f1
having count(t2.f2)>число



Страницы: 1 вся ветка

Текущий архив: 2003.12.26;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
8-86460
Mishel
2003-08-28 10:19
2003.12.26
CreateDIBSection - 8 бит - палитра ?


4-86590
SGU
2003-10-29 13:42
2003.12.26
символ CTRL+BREAK в сом порт


7-86572
Man
2003-08-11 19:43
2003.12.26
как определить серийный номер номер винчестера


7-86580
crocodile_
2003-10-22 14:33
2003.12.26
WMI


1-86348
MakNik
2003-12-12 15:23
2003.12.26
CheckBox