我有这样的桌子
tax_id tax_name parent_tax_id
1 Sales Tax 0
2 Lodging Tax 0
3. Resort Tax 1
4. Hospitality Tax 2
Select tax_name, tax_id from taxes WHERE tax_id IN (3,4).
上面的查询将为我提供ID为3和4的两行,我需要在同一行中获取其父项的tax_name:
SELECT tax_name, tax_id,
(SELECT tax_name FROM taxes ....) as parent_tax_name
from taxes WHERE tax_id IN (3,4)
而且我只需要使用IN(),请让我知道完成此操作的方法。
提前致谢
最佳答案
与自己一起使用联接。左加入,因为并非每一行似乎都有一个父级
SELECT
taxes.tax_name,
taxes.tax_id,
parent.tax_name AS parent_tax_name
FROM
taxes LEFT JOIN taxes AS parent ON taxes.parent_tax_id = parent.tax_id
WHERE
taxes.tax_id IN (3,4)
关于mysql - 从Mysql的同一表中获取IN()的子记录中的父名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47793147/