|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
17.11.2009, 12:20 | #1 |
Пользователь
Регистрация: 17.11.2009
Сообщений: 29
|
Дата и запрос на выборку
Есть БД по музыкальным произведениям, в ней таблица со списком композиторов и их датами рождения и смерти.
Даты рождения и смерти находятся в полях с текстовым значением (понимаю, возможно не верно, но у одного композитора стоит просто год рождения/смерти "1990 год", у второго известны и день и месяц и год когда он родился и умер "16 ноября 1974 года", поэтому и использовалось текстовое поле, ибо с Дата/время такое не прокатило), из всей этой массы живых и мертвых композиторов надо выбрать "Самых молодых", т.е. создать запрос на их выборку. Возможно ли такое сделать с текстовым полем? Если да, то подскажите как? А то не хочется оставлять только года рождения/смерти P.S. Желательно для Access 2007 |
17.11.2009, 18:27 | #2 |
Форумчанин
Регистрация: 26.04.2008
Сообщений: 487
|
Функцию нужно делать, которая попытается "разобраться" с этими записями. Прежде чем ее делать, нужно систематизировать данные по группам\способу ввода.
Да и неужели так много композиторов, что невозможно исправить ошибки вручную и привести значения этого поля к соответствующему типу? |
17.11.2009, 19:58 | #3 |
Пользователь
Регистрация: 17.11.2009
Сообщений: 29
|
Ууу... слова "Функция" не для моей блондинистой головы
Композиторов немного, просто хотелось "как по красивее", а получилось как всегда :D Хотя, стоп, нету ни какой функции типо что бы искала в записи значение ввиде "0000" и выводило ее max значение? (Эт вопрос засыпающей блондинки, ответьте просто да/нет) |
18.11.2009, 07:51 | #4 |
Пользователь
Регистрация: 17.11.2009
Сообщений: 29
|
Так-с, перенесла их года рождения в числовое значение...
Из таблицы выбрала поля: ФИО (текст, ключевое) и Дата рождения (число), Третья графа с датой смерти, думаю, не нужна. Под полем "Дата рождения" в условии отбора пишу "Max" - на меня ругается акцесс ошибкой "Несоответствие типов данных". Пробовала вычисляемое поле: Год Рождения:Max([Композитор]![Дата рождения]). Акцесс сматерился на поле "ФИО", якобы оно не включается в часть статистической функции или группы. Вопрос, что я не так делаю??? Последний раз редактировалось Tanilita; 18.11.2009 в 07:54. |
18.11.2009, 09:47 | #5 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
а вообще, мне кажется с MAX вы не в ту сторону копаете. имхо такой запрос решает Вашу задачу: Код:
p.s. запрос можно ввести, если в окошке ввода запроса нажать правой кнопкой мышки и выбрать в выпавшем меню "Режим SQL" и там в окошке редактора ввести текст запроса... |
|
18.11.2009, 13:10 | #6 | |
Пользователь
Регистрация: 17.11.2009
Сообщений: 29
|
Цитата:
P.S. У меня код только сортировал их по убыванию... Последний раз редактировалось Tanilita; 18.11.2009 в 13:56. |
|
18.11.2009, 19:53 | #7 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
Здравствуйте Tanilita.
для получения списка "самых молодых" композиторов нужно применить конструкцию с вложеным запросом в условии отбора: SELECT * FROM Композитор WHERE [Дата рождения]=(SELECT Max([Дата рождения]) FROM Композитор) Евгений. |
19.11.2009, 05:35 | #8 |
Пользователь
Регистрация: 17.11.2009
Сообщений: 29
|
Спасибо. Осталось разобраться куда это писать (дополнительное поле выдало ошибку )
|
19.11.2009, 06:46 | #9 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
Здравствуйте Tanilita.
где Вы нашли "дополнительное поле"(?), эта конструкция запроса не создает ничего "дополнительного". "разобраться куда это писать ..." можно переклюючив в меню Вид построитель запросов из режима "Конструктор" на "Режим SQL", туда и помещается тело (текст) SQL конструкции. Возможно Вы это знали и была другая причин вопроса, но влюбомм случае важен не способ получения, а сам результат, не так ли. Евгений. |
19.11.2009, 17:48 | #10 | |
Пользователь
Регистрация: 17.11.2009
Сообщений: 29
|
Цитата:
Я просто тормознула, я колонки переименовала у себя в таблице (да, я ступила, бывает ) и с утра еще не очень хорошо представляла, что такое SQL... Все было так легко и просто... Тему можно считать закрытой... Цель достигнута... Большое спасибо Евгению. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
запрос на выборку | МаришаГ | Microsoft Office Access | 5 | 21.08.2009 23:46 |
Запрос на выборку + сумма | EugeneIsmatulin | SQL, базы данных | 3 | 16.06.2009 15:08 |
простейший запрос на выборку | kate158 | БД в Delphi | 2 | 13.05.2009 14:33 |
Запрос на выборку | Ruska882009 | Microsoft Office Access | 2 | 26.02.2009 20:39 |
в БД есть запрос 6 (на выборку) | s1a9s8h6a | БД в Delphi | 12 | 02.01.2009 00:48 |