Mysql 是否在单行中获取多行的查询结果?
我有一个表,每行中的产品详细信息都是唯一的。第二个表是税基,对任何单个项目都有多个税基。我想要的结果应该有每个项目的单行,所有与该项目相关的税收应该在该行与其他细节Mysql 是否在单行中获取多行的查询结果?,mysql,Mysql,我有一个表,每行中的产品详细信息都是唯一的。第二个表是税基,对任何单个项目都有多个税基。我想要的结果应该有每个项目的单行,所有与该项目相关的税收应该在该行与其他细节 item item_id name type 1. bike vehicle tax id tax_name tax_rate item_id 1. tax1 12 1 2. tax2 13 1 3. tax3 14 1 结果应该是: id name
item
item_id name type
1. bike vehicle
tax
id tax_name tax_rate item_id
1. tax1 12 1
2. tax2 13 1
3. tax3 14 1
结果应该是:
id name type tax_name_1 tax_rate_1 tax_name_2 tax_rate_2 tax_name_3 tax_rate_3
1 bike vehicle tax1 12 tax2 13 tax3 14
这是一个典型的表透视问题,请尝试以下操作:
select
item.*,
max(case when tax.id = 1 then tax_name end) as tax_name_1,
max(case when tax.id = 1 then tax_rate end) as tax_rate_1,
max(case when tax.id = 2 then tax_name end) as tax_name_2,
max(case when tax.id = 2 then tax_rate end) as tax_rate_2,
max(case when tax.id = 3 then tax_name end) as tax_name_3,
max(case when tax.id = 3 then tax_rate end) as tax_rate_3
from item
join tax
group by item.id
我认为简单的内部连接将为您完成此任务
SELECT item.*, tax.taxname,tax.taxrate
FROM table1
INNER JOIN tax
ON item.id=tax.id;
税收的数量不确定fixed@AshishSinghal如果它是动态的,那么在这里您必须使用动态sql来完成它。请将此信息添加到您的问题中。请给出tax表的架构。要知道tax表中与itemitem id对应的列与这两个表都相关