Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.12.26;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.007 c
3-86286
Вурдалак
2003-12-02 21:50
2003.12.26
Locate


14-86525
SergP
2003-12-01 22:46
2003.12.26
Помогите написать Select


3-86280
Bless
2003-12-02 11:01
2003.12.26
Сработал ли post?


14-86487
stud
2003-12-05 13:50
2003.12.26
пароли в 2000


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский