![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 04.01.2009
Сообщений: 188
|
![]()
Есть 2 таблицы. albums(id, title, published) и songs(id, title, published, album).
Реально ли одним запросом вытянуть все альбомы из таблицы albums + вытянуть поле id из songs где songs.album = albums.id? То что я сделал своим запросом вытягивает все альбомы, только альбомы повторяются, если в нем найдено больше 1й песни. А мне нужно чтобы вытягивалась только одна копия альбома и к нему же id песенки с альбома Код:
|
![]() |
![]() |
![]() |
#2 |
delphi-ст!
Форумчанин
Регистрация: 02.01.2009
Сообщений: 825
|
![]()
группировку по albums.id сделай!!!!\
вступлю в команду разработчиков ПО на Delphi
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 29.06.2008
Сообщений: 603
|
![]()
не надо группировку, надо использовать left join, например.
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 04.01.2009
Сообщений: 188
|
![]()
поподробней можно про группировку. А насчет left join так?
SELECT a.title, s.id FROM albums AS a LEFT JOIN songs AS s ON a.id=s.album WHERE a.published='1' AND s.published='1' ORDER BY a.created DESC" |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 04.01.2009
Сообщений: 188
|
![]()
Про LEFT JOIN я вообще без рамы как оно работает, могу только догадываться =)
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 29.06.2008
Сообщений: 603
|
![]()
с джойном правильно.
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 04.01.2009
Сообщений: 188
|
![]()
Результат вывода с LEFT JOIN и без него абсолютно одинаковы. Могу на данный момент справится только через 2 запроса, но хотелось бы одним =)
SELECT title, id FROM albums WHERE published='1' и следующим запросом уже имея id c предыдущего запроса($id) сделать так: SELECT id FROM songs WHERE published='1' AND album='$id' Вот скомпонировать бы эти 2 запроса в один.... |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 04.01.2009
Сообщений: 188
|
![]()
Ура, после чтения документации по GROUP BY нашел решение в виде
Код:
|
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите создать SQL запрос | Rain9 | SQL, базы данных | 5 | 25.11.2008 08:54 |
Создать веб запрос | Shavminator | Microsoft Office Excel | 7 | 26.09.2008 16:33 |
Как создать перекресный запрос в QR??? | Tanuska___:) | БД в Delphi | 0 | 22.09.2008 11:13 |
запрос ссылается на несвязанный с ним запрос | kolebatel | SQL, базы данных | 0 | 11.06.2008 12:50 |
Помогите, запрос на добавление | DisaMS | Microsoft Office Access | 5 | 10.06.2008 12:39 |