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

Вниз

Написать 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.046 c
15-1187336496
ProgRAMmer Dimonych
2007-08-17 11:41
2007.09.16
Подкиньте, плз, значки для тем форума


2-1187683458
Alex_AA
2007-08-21 12:04
2007.09.16
Как вставить картинку в ячейку таблицы?


2-1187692036
Sonia
2007-08-21 14:27
2007.09.16
Знатокам Crystal Reports


8-1165916716
zenov
2006-12-12 12:45
2007.09.16
как подключить к своей проге плагины аудиовывода из Winamp?


2-1187216021
Riply
2007-08-16 02:13
2007.09.16
Способы защиты от зацикливания.





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