У меня есть две базы данных, которые выглядят следующим образом:
| idElement | idClient | idSubClient | idSport | idCategory | idTeam | idParent |
|-----------|----------|-------------|---------|------------|--------|----------|
| 1 | 1 | -1 | (null) | (null) | (null) | (null) |
| 2 | 1 | -1 | 30 | (null) | (null) | 1 |
| 3 | 1 | -1 | (null) | 100 | (null) | 2 |
| 4 | 1 | -1 | 31 | (null) | (null) | 1 |
| 5 | 1 | -1 | (null) | (null) | 150 | 3 |
| 6 | 1 | -1 | (null) | (null) | 151 | 3 |
| 7 | 1 | -1 | (null) | 101 | (null) | 4 |
| 8 | 1 | -1 | (null) | 101 | (null) | 2 |
| 9 | 1 | -1 | (null) | (null) | 152 | 7 |
| 10 | 1 | -1 | (null) | (null) | 153 | 7 |
| idRef | idElement | idUser |
|-------|-----------|--------|
| 1 | 1 | 2000 |
| 2 | 1 | 2001 |
| 3 | 1 | 2002 |
| 4 | 1 | 2003 |
| 5 | 2 | 2004 |
| 6 | 2 | 2005 |
| 7 | 3 | 2001 |
| 8 | 4 | 2003 |
| 9 | 9 | 2004 |
Я хочу с помощью idUser, idClient, idSubclient создать обратный рекурсивный запрос, который возвращает, если родительский элемент является sport. * Например:
В моем случае пользователю с идентификатором 2004
назначается элемент 2
, который является спортивным, но также назначается элементу 9
. Элемент с идентификатором 9
- это команда, которая привязана к категории с идентификатором 7
, в этом случае это не спорт, тогда мне нужно проконсультироваться с его родителем, чтобы проверить, является ли он спортом ...
Что я ожидать
| idElement | | ----------- | | 2 | | 4 |
Пример SQLFiddle