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

Вниз

Написать SQL-запрос, осуществляющий выборку из 2-х таблиц.   Найти похожие ветки 

 
КрЫска ©   (2007-05-18 01:12) [0]

Здравствуйте! Подскажите как написать SQL-запрос, осуществляющий выборку из 2-х таблиц. Таблицы содержат информацию такого вида:

Табл. Chel.

Number | Fam    | Imya
______________________________
101    |Иванов   |Иван
102    |Петров   |Петр
103    |Сидоров |Сидор

Табл. Adres

Number| Adr                              | Date_Save
________________________________________________________
101    |Москва,...                        |12.03.1998
101    |Санкт-Петербург               |30.10.2000
101    |Москва,...                        |01.04.2006
102    |Саратов, ул. Такая-то, д.1 |12.03.1998
102    |Саратов, ул. Такая-то, д.1 |30.10.2000
103    |г.Киров                            |30.10.2000
103    |Киров                              |15.06.2001
103    |Киров, пр. им...., д.2         |10.12.2005

В табл. Adres записи с одним и тем же значением поля Number отличаются датой сохранения, но могут совпадать в других полях.
В табл. Chel поле Number ключевое и объединение строк осуществляется по нему.
При этом в результирующую таблицу нужно выдавать не все записи из табл. Adres соответствующие одному значению поля Number,а только запись, сохраненную последней. Т.е. в результате запроса к этим 2-м таблицам должен быть такой результат:

Number | Fam     | Imya| Adr                                | Date_Save
________________________________________________________
101    |Иванов   |Иван |Москва,...                        |01.04.2006
102    |Петров   |Петр  |Саратов, ул. Такая-то, д.1 |30.10.2000
103    |Сидоров |Сидор|Киров, пр. им...., д.2          |10.12.2005

Ну вот и все... :(

Заранее спасибо.


 
ЮЮ ©   (2007-05-18 03:59) [1]

А СУБД указать слабо?


 
novoalex ©   (2007-05-18 08:11) [2]


> КрЫска ©   (18.05.07 01:12)

Индивидуальный идентификатор присутствует в Adres ?


 
Sergey13 ©   (2007-05-18 08:33) [3]

> [0] КрЫска ©   (18.05.07 01:12)

Общая идея такая
select * from chel c,adres a
where c.number=a.number and a.data_save=(select max(data_save) from adres a1 where a1.number=c.c.number)


 
novoalex ©   (2007-05-18 08:36) [4]


> novoalex ©   (18.05.07 08:11) [2]

Если есть то:


SELECT     tt.Number, Chel.Fam, Chel.Imya, tt.Adr, tt.Data_Save
FROM         Adres tt INNER JOIN
                     Chel ON tt.Number = Chel.Number
WHERE     (Id IN
                         (SELECT     MAX(Id) AS Id
                           FROM          Adres dd
                           WHERE      tt.Number = dd.Number))


 
novoalex ©   (2007-05-18 13:12) [5]


> novoalex ©   (18.05.07 08:36) [4]

В принципе если поле Date_Save содержит значение времени занесения строки в таблицу Adres, то Id можно заменить на Date_Save.

WHERE     (Date_Save IN
                        (SELECT     MAX(Date_Save) AS Date_Save
                          FROM          Adres dd
                          WHERE      tt.Number = dd.Number))


 
Павел Калугин ©   (2007-05-18 13:28) [6]

> [5] novoalex ©   (18.05.07 13:12)

не in а =
см [3] Sergey13 ©   (18.05.07 08:33)


 
Кщд ©   (2007-05-18 13:28) [7]

novoalex ©   (18.05.07 13:12) [5]
как Вы думаете, как долго будет выполняться Ваш запрос, например, на таблице-миллионнике?)


 
КрЫска ©   (2007-05-18 13:59) [8]

Вопрос оч даже хороший, ну просто замечтательный :). Сегодня и проверю.
Спасибо всем, надеюсь получится ;)


 
КрЫска ©   (2007-05-18 23:28) [9]

ЕщЁ раз всем огромное спасибо! Все получилось (просто все гениальное - просто!)!  :D



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

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

Наверх





Память: 0.47 MB
Время: 0.048 c
2-1188148472
vogel max
2007-08-26 21:14
2007.09.16
формы из dll как ловить события?


1-1183888184
hgd
2007-07-08 13:49
2007.09.16
Сохранить как картинку


9-1157787679
Viv
2006-09-09 11:41
2007.09.16
Ищу программку переводящую фонт в бмпшку...


15-1185456859
asafr
2007-07-26 17:34
2007.09.16
Model-View-Controller


4-1174766392
Дмитрий Белькевич
2007-03-24 22:59
2007.09.16
Как зазипоповать файл win xp api?





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