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

Вниз

Можно ли сделать такую выборку одним SQL-запросом?   Найти похожие ветки 

 
sergg   (2004-01-08 10:37) [0]

Уважаемые мастера, подскажите пожалуйста, можно ли сделать следующую выборку одним SQL-запросом:
1) Есть таблица 1 содержащая типы объектов - скажет тип "А" и тип "Б", состоящая из собственно названия типа (А и Б) и счетчика (индексного поля ?? :-) )
2)Есть таблица 2 самих объектов, где в поле "тип объекта" указывается номер записи из таблицы 1 :-)
3)И есть таблица 3 событий, происходивших с объектами, где в поле "Объект" тоже указывается номер записи (ну в смысле значения индесного поля типа счетчик) из таблицы 2.

Как можно сделать выборку всех событий, происходивших с объектами типа А?
В книжке по SQL ничего похожего я не нашел :(


 
DCoder   (2004-01-08 11:08) [1]

select table3.events
from table3
inner join table1 on table1.object_index=table3.object_index
where table1.object_name="A" /*можно использовать параметр*/

где events - события
Вторая таблица, как я понял, тут вообще не используется


 
sergg   (2004-01-08 13:52) [2]

Почему?? Используется:
В записях табл 3 указываются идентификаторы из табл 2 (объекты)
а в записях табл 2, в свою очередь, указываются идентификаторы из табл 1 (типы объектов)


 
DCoder   (2004-01-08 16:14) [3]

select table3.id, table3.events
from table3
inner join table2 on table2.id=table3.id_t2
inner join table1 on table1.id=table2.id_t1
where table1.object_name="A"


 
sergg   (2004-01-08 16:50) [4]

Спасибо. Сейчас почитаем что ето за джойн такой :)))


 
div   (2004-01-08 19:15) [5]

какие join"ы?

select * from table3
where
table1.objecy_name = "A" and
table2.id_t1 = table1.id and
table3.id_t2 = table2.id_t1


 
sergg   (2004-01-08 22:17) [6]

Хмм, join"ы работают, спасибо DCoder, а этим путем разве лучше?


 
sergg   (2004-01-08 22:34) [7]

При попытке включить в запрос
ссылку на другую таблицу, например
table2.id_t1 выдается ошибка:
Invalid field name
id_t1
:((


 
sergg   (2004-01-08 23:17) [8]

Должно быть так :)

select * from table3,table2,table1
where
table1.objecy_name = "A" and
table2.id_t1 = table1.id and
table3.id_t2 = table2.id_t1



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

Форум: "Базы";
Текущий архив: 2004.02.02;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.009 c
1-2127
int64
2004-01-19 16:45
2004.02.02
ADO.NET


1-2181
It
2004-01-21 08:09
2004.02.02
TreeView


3-2003
M126
2004-01-07 12:40
2004.02.02
MAXFILEHANDLE


7-2385
Дмитрий Дикун
2003-10-29 18:08
2004.02.02
Отключение клавиатуры в Notebook


1-2125
Ascan
2004-01-19 14:06
2004.02.02
Кто такой NMFast40 ?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский