|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.01.2009, 16:39 | #1 |
Форумчанин
Регистрация: 04.01.2009
Сообщений: 188
|
Помогите создать запрос mysql
Есть 2 таблицы. albums(id, title, published) и songs(id, title, published, album).
Реально ли одним запросом вытянуть все альбомы из таблицы albums + вытянуть поле id из songs где songs.album = albums.id? То что я сделал своим запросом вытягивает все альбомы, только альбомы повторяются, если в нем найдено больше 1й песни. А мне нужно чтобы вытягивалась только одна копия альбома и к нему же id песенки с альбома Код:
|
07.01.2009, 16:40 | #2 |
delphi-ст!
Форумчанин
Регистрация: 02.01.2009
Сообщений: 825
|
группировку по albums.id сделай!!!!\
вступлю в команду разработчиков ПО на Delphi
|
07.01.2009, 16:44 | #3 |
Форумчанин
Регистрация: 29.06.2008
Сообщений: 603
|
не надо группировку, надо использовать left join, например.
|
07.01.2009, 16:47 | #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" |
07.01.2009, 16:48 | #5 |
Форумчанин
Регистрация: 04.01.2009
Сообщений: 188
|
Про LEFT JOIN я вообще без рамы как оно работает, могу только догадываться =)
|
07.01.2009, 16:50 | #6 |
Форумчанин
Регистрация: 29.06.2008
Сообщений: 603
|
с джойном правильно.
|
07.01.2009, 16:55 | #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 запроса в один.... |
07.01.2009, 17:34 | #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 |