表tagente
|id_agente | nombre | id_grupo |
|------------------------------|
| 3 | mark | 4 |
表 tagent_secondary_group
|id | id_agente | id_group |
|------------------------------|
| 2 | 3 | 8 |
表 tgrupo
|id_grupo | nombre | parent|
|------------------------------|
| 8 | servers | 10 |
| 10 | datacenter | 0 |
“tgrupo”表中的“parent”列參考了同一張表的“id_grupo”,所以servers的parent是datacenter。
我需要根據父值獲取“名詞”值。
我怎樣才能做到這一點?可以在同一個查詢上完成嗎?
SELECT ta.nombre as agente ,tg.nombre as grupo , tg.parent
FROM tagente ta
JOIN tagent_secondary_group tsg ON ta.id_agente = tsg.id_agent
JOIN tgrupo tg ON tsg.id_group = tg.id_grupo
uj5u.com熱心網友回復:
是的,您只需使用兩個不同的別名將表包含兩次。我在這里用 寫WHERE,但可以用JOINs 重做。
SELECT ta.nombre as agente , tg2.nombre as grupo , tg1.parent
FROM tagente ta, tagent_secondary_group tsg, tgrupo tg1, tgrupo tg2
WHERE ta.id_agente = tsg.id_agent
AND tsg.id_group = tg1.id_grupo
AND tg1.parent = tg2.id_grupo;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/452525.html
上一篇:SQL|根據每列的日期值計數
