У меня есть несколько таблиц MySQL, как те:Выберите из таблицы, где есть несколько записей в один ряд
ids urns urn_urls urls
id | type id | uid | urn uid | lid lid | url
---+----- ---+-----+----- ----+---- ----+----
1 | 1 1 | 1 | urn1 1 | 1 1 | url1
2 | 4 2 | 2 | urn2 1 | 2 2 | url2
3 | 4 2 | 3 | urn3 2 | 3 3 | url3
4 | 4 3 | 4 | urn4 2 | 4 4 | url4
...|... 3 | 5 | urn5 3 | 4 5 | url5
. 4 | 6 | urn6 4 | 5 6 | url6
. ...| ... | ... 5 | 5 ...| ...
. 6 | 1
. 6 | 6
Что я хотел бы иметь это запрос, в котором перечислены те записи, идентификатор типа 4, которые связанный с более чем одной урны и corrosponding урн, как это:
result
id | url
---+-----
2 | url3
2 | url4
4 | url1
4 | url6
я уже пытался что-то вроде этого:
SELECT id,url
FROM ids
NATURAL JOIN urns
NATURAL JOIN urn_urls
NATURAL JOIN urls
WHERE type=4
HAVING count(#column#)>1;
с #column#
один из (id
, lid
, url
), но он возвращается только по строке; , когда я добавил GROUP BY
заявления, я получаю больше, но не apropriate результатов
SELECT id,url
FROM ids
NATURAL JOIN urns
NATURAL JOIN urn_urls
NATURAL JOIN urls
WHERE type=4
GROUP BY #group#
HAVING count(#column#)>1;
для различных комбинаций #group#
/#column#
из (id
, lid
, url
).
Итак, помощь приветствуется.
Почему 'urn1' быть в результате? Он подключен к id 1, который имеет тип 1, а не 4. – Guffa
моя ошибка. результат должен содержать URL-адреса;) Я отредактирую это –