2016-07-25 6 views
2

SQL FiddleРегистрация запроса для графа в тузде заявлении

У меня есть три таблицы БД, и я хотел бы, чтобы выбрать 10 наиболее часто используемые тегов из song_tag таблицы, которые я могу сделать с запросом SQL ниже

SELECT `tag_id`, 
COUNT(`tag_id`) AS `value_occurrence` 
FROM `song_tag` 
GROUP BY `tag_id` 
ORDER BY `value_occurrence` DESC 
LIMIT 10; 

Как мне получить значение имени тега из таблицы тегов в том же запросе? Возможно ли это? Я создал скрипку с некоторыми фиктивными данными и тремя таблицами, которые необходимы (ссылка наверху сообщения).

Это будет использоваться в wordpress wpdb query. Я не думаю, что есть еще что-то, что можно добавить о настройке конфигурации, языках и т. Д.

ответ

1

Вам нужно будет присоединиться к таблице тегов к вашему результату. Так что-то вроде:

SELECT s.tag_id, COUNT(s.tag_id) AS value_occurrence, t.name 
FROM song_tag s LEFT JOIN tags t 
    ON s.tag_id = t.id 
GROUP BY s.tag_id 
ORDER BY value_occurrence DESC 
LIMIT 10; 
+1

Привет, Брэндон, это сработало, спасибо. Придется ждать, чтобы принять ответ, но будет –

+0

Просто из любопытства @BrandonM, как бы я хотел выбрать одну песню на основе id и захватить все теги, связанные с одной песней, в одном запросе? –

+0

Ответил ниже, чтобы иметь форматирование. – BrandonM

1

Ответ на ваш комментарий здесь, чтобы я мог форматировать.

Я лично не знаю способа получить все теги в одной строке с песней, однако мы можем создать инструкцию SELECT, которая связывает все теги с песней в разных строках. Это будет выглядеть примерно так:

SELECT s.title, t.name 
FROM songs s LEFT JOIN song_tag st 
    ON s.id = st.song_id 
LEFT JOIN tags t 
    ON st.tag_id = t.id 
WHERE s.id = "123"; 
+0

Да, я не был уверен, удалось ли получить все теги в одной строке. Спасибо за вашу помощь. –

+0

Кажется, я помню, что это возможно? Просто не знаю, как это сделать. – BrandonM

+0

http://stackoverflow.com/questions/1067428/combine-multiple-child-rows-into-one-row-mysql Существует псевдо-способ сделать это. Однако не создано несколько столбцов. – BrandonM

Смежные вопросы