Форум: "Базы";
Текущий архив: 2003.05.12;
Скачать: [xml.tar.bz2];
ВнизМожно ли сделать такой запрос Найти похожие ветки
← →
NOV (2003-04-22 16:31) [0]Проветствую All!
Сразу к делу
Есть две таблицы связь многие ко многим через третью таблицу
Table AUTOR
ID идентификатор
Name имя
... другие поля неважно
Table Books
ID идентификатор
Name имя
... другие поля неважно
Table AutorBooks
ID_B идентификатор книги
ID_A идентификатор автора
ВНИМАНИЕ ВОПРОС!
Можно ли построить SQL запрос который бы выдавал
в одной записи
Наименование книги и всех авторов этой книги
типа группировка а поле авторов суммировать
Заранее спасибо!
← →
Дмитрий Баранов (2003-04-22 16:35) [1]Написать функцию. MS SQL или Oracle это позволяют.
← →
Жук (2003-04-22 16:44) [2]Что-то не очень понятно. Сколько полей в записи должно быть ?
← →
NOV (2003-04-22 16:44) [3]Это понятно, это любая база позволяет,
но в этом случае придеться представлять через дополнительную таблицу, вопрос не как сделать, я сделал на делфи через вычисляемое поле
ВОПРОС АКАДЕМИЧЕСКИЙ МОЖНО ЛИ С ПОМОЩЬЮ SQL
← →
NOV (2003-04-22 16:46) [4]TO Жук
два поля в одном название книги
в другом фамилии всех авторов этой книги
← →
Johnmen (2003-04-22 16:51) [5]>ВОПРОС АКАДЕМИЧЕСКИЙ МОЖНО ЛИ С ПОМОЩЬЮ SQL
Одним натуральным запросом - нет.
← →
Жук (2003-04-22 16:52) [6]
select b.name,a.name,
(select count(ab1.id) from AutorBooks ab1 where ab1.id_b=b.id) as awtory
from autor a,books b, autorbooks ab
where b.id=ad.id_b and ab.id_a=a.id
order by b.name
Тут три. :-(
← →
Дмитрий Баранов (2003-04-22 16:52) [7]нельзя, так как для строк нет аггрегирующих функций.
← →
Жук (2003-04-22 16:56) [8]Интересно, зачем это надо ?
← →
NOV (2003-04-22 17:07) [9]TO ЖУК
Немного не то этот запрос выдает количество авторов
а мне нужны их фамилии сцепленные вместе допустим через запятую
КАК зачем, чтобы в одной записи все авторы были
TO Johnmem
А ненатуральным, вложеным, любым но с помощью SQL
← →
Соловьев (2003-04-22 17:13) [10]СУБД?
ХП
← →
Johnmen (2003-04-22 17:17) [11]>NOV (22.04.03 17:07)
Под "натуральным" имел в виду не степень сложности и вложенности, а тот, который обращается к таблицам и только к ним. (не к ХП или ВЬЮ).
← →
Дмитрий Баранов (2003-04-22 17:24) [12]NOV (22.04.03 17:07)
Один шут курсор для подзапроса надо объявлять-открывать-фетчить и склеивать в результирующую строку.
← →
NOV (2003-04-22 17:35) [13]TO Johnmen
Хорошая идея
Сейчас в Accessе попробовал так
сначала перекресный запрос где: строки -> книги,
столбцы-> авторы,
значения-> фамилии
а потом по нему второй запрос склеивая всех авторов
почти то, что надо, но если будут добавляться авторы
то как обновлять второй запрос там строго прописано
что складыват :(
Еще мысли есть?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.05.12;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.006 c