[英]Find parent of specific child in the same table [SQL]
我在 phpmyadmin 中有這樣的表格:
+-----------+-----------------+-------------------+
|nom_ele_id | nom_ele_title | nom_ele_parent_id |
+===========+=================+===================+
| 7060 | STANDARD | NULL |
| 6953 | SOL | 7060 |
| 6957 | type de sol | 6953 |
+-----------+-----------------+-------------------+
我想有我的“nom_ele_parent_id”的父母的“nom_ele_tile”。
我試試這個:
SELECT a.nom_ele_id, a.nom_ele_title, b.nom_ele_title AS 'nom_parent'
FROM `immo_nomenclature_element` AS a
LEFT JOIN `immo_nomenclature_element` AS b
on a.`nom_ele_parent_id` = b.`nom_ele_id`
但是對於這個請求,我不能使用 WHERE nom_ele_title
="type de sol" 為例。 我得到我的整個表是這樣的:
+-----------+-----------------+-------------------+
|nom_ele_id | nom_ele_title | nom_parent |
+===========+=================+===================+
| 7060 | STANDARD | NULL |
| 6953 | SOL | STANDARD |
| 6957 | type de sol | SOL |
+-----------+-----------------+-------------------+
你只需要添加where
子句:
SELECT a.nom_ele_id, a.nom_ele_title, b.nom_ele_title AS 'nom_parent'
FROM `immo_nomenclature_element` AS a
LEFT JOIN `immo_nomenclature_element` AS b
on a.`nom_ele_parent_id` = b.`nom_ele_id`
where a.nom_ele_title='type de sol'
我不確定你的問題是否正確。
如果 nom_ele_title="type de sol" ,你只想要一個 nom_parent ,對嗎?
然后你可以在你的連接條件中添加一個“and nom_ele_title="type de sol”。
SELECT a.nom_ele_id,
a.nom_ele_title,
b.nom_ele_title AS 'nom_parent'
FROM `immo_nomenclature_element` AS a
LEFT JOIN `immo_nomenclature_element` AS b
ON a.`nom_ele_parent_id` = b.`nom_ele_id and a.nom_ele_title="type de sol"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.