簡體   English   中英

從Mysql的同一表中獲取IN()的子記錄中的父名稱

[英]Get parent name in child record in IN() from same table in Mysql

我有這樣的桌子

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)

您可以使用如下所示的聯接查詢,

Select t.tax_name, t.tax_id, tt.tax_name as parent_tax from taxes as t left join taxes as tt on (t.parent_tax_id = tt.tax_id) WHERE t.tax_id IN (3,4)

parent_tax將是父行的tax_name

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM