У меня есть FAQ по базе данных, который разбит на разделы, и я пытаюсь получить данные разделов только для тех разделов, с которыми связан вопрос / ответ.
Вот схема:
|---------------------| |----------------------|
| Section | | Quest-Ans |
|---------------------| |----------------------|
| PK | id(int) |<--| | PK | id(int) |
| | title(varchar) | |--| FK | Sec_id(int) |
| | desc(text) | | | body(text) |
|---------------------| |----------------------|
Когда я пытаюсь выполнить этот запрос:
SELECT DISTINCT s.id, s.title, s.desc
FROM Section as s INNER JOIN Quest-Ans as q ON s.id = q.Sec_id
Я получаю сообщение о том, что DISCRETE нельзя применить к текстовому полю. Как я могу получить данные, которые я хочу?
Если это имеет значение, это база данных SQL2000.
EDIT:
Хорошо, похоже, есть два способа сделать это. Либо с EXISTS и подзапросом в предложении where, либо с подзапросом во внутреннем соединении. Что быстрее?