Я использую Gephi, подключенный к базе данных MySQL. Есть две таблицы:SELECT в зависимости от значения от второй таблицы
Nodes
**id | label**
----------------
1 | a
2 | b
3 | c
4 | d
Edges
**source | target**
----------------
4 | 3
1 | 2
2 | 3
3 | 1
2 | 1
2 | 4
Значения для source
и target
(кромками таблицы) должны соответствовать id
(Nodes таблицу). Я хочу один запрос на:
- Выберите из узлов таблицы, где
label
являетсяb
. id
отb
is2
, поэтому выберите эти значения из таблицы Edges, гдеsource
is2
.- Теперь
target
значение3, 1, 4
гдеsource
является2
, поэтому выберите эти значения из узлов таблицы, гдеid
является3, 1, 4
.
Я попробовал этот запрос, но это не дает правильные результаты:
SELECT id, label FROM nodes WHERE id IN(
SELECT target FROM edges WHERE target In(
SELECT id FROM nodes WHERE label = 'b'
)
)
Результат должен выглядеть следующим образом:
**id | label**
----------------
2 | b
3 | c
1 | a
4 | d
его работы хорошо. но небольшая проблема заключается в том, что он повторяет строку с меткой «2», пожалуйста, проверьте эту ссылку http://sqlfiddle.com/#!9/f7e824/1 – Shujaat
Просто положите отличную оттуда – GurV
работает отлично в http : //sqlfiddle.com/, но в моей локальной базе данных этот запрос возвращает нулевые результаты – Shujaat