простой рекурсивный запрос - PullRequest
1 голос
/ 24 февраля 2010

У меня есть 2 таблицы следующим образом (показаны данные примера):

TableName: A
ID              Type
1  Bug
2  Requirement
3  Task
4  Specification
5  Bug
6  Specification
7  Production Issue
8  Production Issue
9  Bug
10          Task

Tablename: B
ID  RelatedID
1  2
1  7
5  8
5  4
9  6
9  10

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

Ожидаемый результат будет таким, как показано ниже (поскольку это ошибки, по крайней мере, с одной связанной производственной проблемой)

output
1
5

1 Ответ

1 голос
/ 24 февраля 2010

Псевдонимы - путь сюда

SELECT pri.Type AS 'Primary Type', rel.Type AS 'Related Type' 
FROM A AS pri 
   INNER JOIN B ON B.ID = pri.ID
   INNER JOIN A AS rel ON B.RelatedID = rel.ID
WHERE pri.Type = 'Bug' AND rel.Type = 'Production Issue;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...