manosabari Ответов: 1

Получите все теги для каждого поста


У меня есть следующий запрос, чтобы получить все вопросы из базы данных, и отдельный запрос, чтобы получить теги для конкретного вопроса.

К твоему сведению, у меня есть 3 стола.

Вопрос
Метка
QuestionTagMap

Select QuestionId, Title, UrlSlug
    From dbo.Question

Select t.Id ,t.Name, t.UrlSlug
    from dbo.QuestionTagMap qtm
    Inner Join dbo.Tag t on qtm.Tag_Id = t.Id
    where qtm.Question_Id = 101


Что я уже пробовал:

Но я хочу написать запрос, чтобы получить все вопросы и теги для каждого вопроса.

Как мне это сделать?

Maciej Los

"Я хочу написать запрос, чтобы получить все вопросы и теги для каждого вопроса."- Можете ли вы быть более конкретными?
Ваш запрос уже делает это. Чего вы пытаетесь достичь?
Примеры данных были бы полезны.

MadMyche

Таблица вопросов вообще не является источником, вызываются только таблицы тегов и мостов/карт

1 Ответов

Рейтинг:
4

MadMyche

Чтобы добавить в вопрос; вам нужно будет добавить в свой Вопрос стол к столу FROM / INNER JOIN список "источник" список.

Получить Все из вопросов и тегов вам нужно будет удалить предложение WHERE из запроса.

Не зная структуры таблиц, я могу только догадываться о точных именах столбцов; так что это, скорее всего, нужно будет подправить

SELECT q.ID, q.QuestionText
     , t.Id ,t.Name, t.UrlSlug

FROM   dbo.Question             q
INNER JOIN dbo.QuestionTagMap qtm ON q.ID = qtm.Quest_ID
INNER JOIN dbo.Tag              t ON qtm.Tag_Id = t.Id