|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.09.2009, 16:08 | #1 |
Пользователь
Регистрация: 13.11.2007
Сообщений: 81
|
отображаются несколько записей
Доброго времени суток!
пропблема в следующем: на форме две таблицы, они связаны между собой (1 - паспортные данные 2 - книги на руках) книг на руках может быть много, а значит связь 1 к многим! пишу запрос Код:
спасибо за ответ)))
Лучшее образование - самообразование (В.Пикуль)
|
16.09.2009, 16:15 | #2 |
Павел Сергеевич
Форумчанин
Регистрация: 05.11.2006
Сообщений: 665
|
Структуру таблиц и результат, который тебе нужен опиши - тогда будем разговаривать. ))
А по твоему запросу он все правильно делает - берет FIO.* а потом к ним добавляет все совпавшие Knigi.* FIO1: KNIGA1 _____ KNIGA2 FIO2: KNIGA1 FIO3:....
Познавая других, мы познаем себя.
С'est la vie... Последний раз редактировалось SuperVisor; 16.09.2009 в 16:19. |
16.09.2009, 16:32 | #3 |
Пользователь
Регистрация: 13.11.2007
Сообщений: 81
|
таблица FIO
поля ID, Fam, Imja таблица Knigi поля IDID, Kniga FIO.ID связано с Knigi.IDID запрос должен выдавать список фамилий без повторов если у них есть по несколько книг! к примеру 3 человека взяли 10 книг одного автора, Иванов взял 4 книги, Петров - 1 и Сидоров - 5 ! мне нужно отобразить в 1 таблице список из 3 фамилий Иванов, Петров, Сидоров, при этом во 2-ой таблице показать при наведении курсора на Иванова его 4 книги, на Петрова - 1 и на Сидорова тоже 5! вот такая витиеватая задача(((
Лучшее образование - самообразование (В.Пикуль)
Последний раз редактировалось chekanoff; 16.09.2009 в 16:34. |
16.09.2009, 17:56 | #4 | |
Я есть!
Форумчанин
Регистрация: 17.02.2008
Сообщений: 318
|
Цитата:
©Учиться, учиться и еще раз учиться!
|
|
16.09.2009, 18:27 | #5 |
Пользователь
Регистрация: 13.11.2007
Сообщений: 81
|
вот в том и дело что она очень проста (это пример, полей и таблиц на много больше, но решив эту задачу все остальное уложиться как нужно), да будет избыточность данных, и сия БД не будет приведена к 3НФ, но мне нужно решить именно эту задачу! но за совет спасибо, читаю уже 2-ой день, чую что все просто но ответ не лезет в голову, а время жмет((( просто думал для этого и нужны формумы!
Лучшее образование - самообразование (В.Пикуль)
Последний раз редактировалось chekanoff; 16.09.2009 в 18:33. |
16.09.2009, 18:49 | #6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
chekanoff, ну про образование (и самообразование) — это абсолютно верно! Это обязательное условие! и, кстати, основы SQL просто великолепно расскрыты в книжке Мартина Грубера "Понимание SQL" (лёгко найдёте в литературе к разделу или в интернете).
по Вашему вопросу. Смотрите, фактически Вам надо получить (или получать "налету" две таблицы - первую - список читателей, у который на руках есть книги. Это можно получить, сгруппировав Ваш запрос по читателям. вторая таблица - список книг по конкретному читателю (или таблица "с повторами" фамилий читателей по каждой книге) но проблема в том, что СТРУКТУРА ВАШИХ ТАБЛИЦ НИКУДА НЕ ГОДИТСЯ! Понять Вам самому будет очень легко. Заполните таблицы данными (прямо в редакторе Word нарисуйте примеры таблиц и заполните их). И Вы сами увидите, что Вам прийдётся несколько раз внести одного читателя, если у него на руках несколько книг!!! Решается эта ситуация через промежуточную таблицу. Например, предлагаю такую схему: Таблица. ЧИТАТЕЛИID читателя - ключевое поле (ОБЯЗАТЕЛЬНО!) FAM IM OT НомерЧитательскогоБилета (это тоже желательно, т.к. могут быть полные тёзки!) так же могут быть другие поля, необходимые для работы с читателем, например, телефон, дом.адрес, паспортные данные и т.д. и т.п. Таблица. КНИГИ ID книги - ключевое поле (ОБЯЗАТЕЛЬНО!) Название книги Автор(ы) Год выпуска Издательство количество_страниц ISBN и прочее (всё, что может понадобиться для библиотечной картотеки) Таблица. ВЫДАННЫЕ_КНИГИ ID записи - ключевое поле (в данной таблице ключ необязателен... можно сделать, можно - не делать.. хотя по науке - надо) ID читателя ID книги Дата выдачи. Запланированная дата возврата книги (когда должен вернуть) Фактическая дата возврата книги. и учиться, учиться, учиться! Последний раз редактировалось Serge_Bliznykov; 16.09.2009 в 19:00. |
16.09.2009, 18:49 | #7 | |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
не знаю на чем вы это пишете, но при такой постановке задачи
Цитата:
первый вернет всех читателей Код:
Код:
2 Serge_Bliznykov а кто его знает что он там хранит в поле Knigi.Knigа ?! и в условии нигде не нашел что нужно показывать все ФИО, которые пользуются/пользовались книгой но что дорабатывать всегда найдется Последний раз редактировалось soleil@mmc; 16.09.2009 в 18:53. |
|
17.09.2009, 09:20 | #8 |
Павел Сергеевич
Форумчанин
Регистрация: 05.11.2006
Сообщений: 665
|
Можете попробовать данный запрос:
Код:
Познавая других, мы познаем себя.
С'est la vie... |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ShowWindow: не отображаются компоненты на форме | MyasNick | Win Api | 4 | 24.02.2009 18:20 |
несколько записей в базе | 4321 | БД в Delphi | 1 | 13.11.2008 20:30 |
В IE7.0 не отображаются некоторые элементы страниц форума, которые нормально отображаются в FireFox3.0. | Taras | HTML и CSS | 10 | 27.09.2008 13:30 |
Не отображаются данные связанные с гл. таблицей? | zimmion | БД в Delphi | 11 | 27.02.2008 18:50 |
Не отображаются новые собщения | Master-Skull | О форуме и сайтах клуба | 0 | 19.08.2007 13:41 |