Форум: "Базы";
Текущий архив: 2004.01.09;
Скачать: [xml.tar.bz2];
Внизsql Найти похожие ветки
← →
PaveLL (2003-12-10 13:28) [0]Подскажите, как составить запрос, чтобы из трех баз выбрать данные с максимальным значением.
← →
Малиновский Владимир (2003-12-10 13:29) [1]Подробнее!
Какой сервер?
Какие таблицы?
Какие поля анализировать?
В каком виде хотим получить результат?
← →
Johnmen (2003-12-10 13:30) [2]> Какой сервер?
Paradox :)))))
← →
Малиновский Владимир (2003-12-10 13:31) [3]select max(summa) from Table1
select max(price) from Table2
select max(quantity) from Table3
?
← →
Малиновский Владимир (2003-12-10 13:32) [4]Что-то я нескромные вопросы задавать стал...
← →
pavell (2003-12-10 13:50) [5]Базы локальные.
Задача: Есть несколько таблиц, в которых хранятся списки книг, написанных конкретным автором. В каждой таблице хранятся книги одного автора. Известны фамилии авторов. О каждой книге известно название, издательство и количество страниц. Если книгу написали несколько авторов, то она хранится в таблице каждого из авторов.
С помощью запросов необходимо получить ответы на запросы:
1) указать авторов, имеющих максимальное количество книг;
2) указать названия книг, которые написали максимальное количество авторов;
← →
Малиновский Владимир (2003-12-10 13:52) [6]Что, четыреста авторов = четыреста таблиц?
← →
Johnmen (2003-12-10 14:00) [7]>pavell
Скажу сразу, резко и честно: полностью пересмотри структуру БД.
:)
← →
Малиновский Владимир (2003-12-10 14:00) [8]Измените структуры базы, например:
Таблица Avtor
-------------
avtor_id : integer
FIO : string
Таблица Editorial
-----------------
Editorial_id : integer
Name : string
Таблица Book
------------
Book_id : integer
Editorial_id : integer
Name : string
Pages : integer
Таблица Avtor_Book
------------------
Avtor_Book_id
Book_Id
Avtor_id
Связь между таблицами - по соответствующим полям *_id, причем между Book и Avtor - через Avtor_Book, связь типа многие ко многим. И все станет просто...
Таблица
← →
Вованчик (2003-12-10 14:00) [9]
> pavell
а почему не сделать две таблицы "Авторы" и "Книги".
И связать 1:М. Все твои проблемы решаться очень быстро ...
:)
← →
pavell (2003-12-10 14:04) [10]В институте задания не изменят :-(
← →
Johnmen (2003-12-10 14:11) [11]>Вованчик © (10.12.03 14:00)
>...а почему не сделать ...И связать 1:М.
Потому, что M:M, и значит надо 3 таблицы...
← →
HSolo (2003-12-10 14:13) [12]> pavell (10.12.03 14:04) [10]
Неужели в задании прямо такое требование и выдвинуто:
>В каждой таблице хранятся книги одного автора
← →
Малиновский Владимир (2003-12-10 14:15) [13]Преподы долбаные! Скажи: "прочитайте что-нибудь по теории реляционных баз данных." Что-нибудь про нормализацию и т.д.
Твой запрос средствами SQL не реализовать. Если только какие-нибудь нестандартные средства языка.
Может, что-нибудь с использованием union
Однако, как узнать, какие таблицы включать в запрос?
Запрос придется строить динамически. Можно предположить, что список таблиц с "авторами" также где-то хранится? Или есть некое соглашение об именах, типа Avt_01, Avt_02...
← →
Alex_Bredin (2003-12-10 14:23) [14]в существование БД с такой структурой верится с трудом
← →
Малиновский Владимир (2003-12-10 14:26) [15]Да ладно, в прошедшую молодость, юзал я одну прогру на ФоксПро, складской учет: на каждый склад была своя таблица с позициями хранения. MS DOS, Intel386 - 4MB - forever! Вот там запросы были! Между прочим, в Метрострое до сих пор кое-кто ее юзает.
← →
pavell (2003-12-10 14:45) [16]Спасибо всем!
Я правда еще только учусь, поэтому многое не умею.
Владимир, говоришь попробовать с union, попробую.
Что ж будем биться с преподавателями на теоритическом фронте.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.01.09;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.013 c