Sql 如何从具有大行的表中选择数据,如column1%column2
我有一个240 000行的表格产品。 我想从此表中选择数据,其中Sql 如何从具有大行的表中选择数据,如column1%column2,sql,select,Sql,Select,我有一个240 000行的表格产品。 我想从此表中选择数据,其中idproduct=idproductcomponent Output生成一个包含3列的表,因此在不同的列中。 始终idproducttype1的idproductcomponent为0,idproducttype2的idproductcomponent,3与idproducttype1的idproduct相同 佩拉塞,你能和我分享一下这个选择的想法吗 假设您的数据库是SQL Server(您不说它是哪一个),则查询可能如下所示:
idproduct=idproductcomponent
Output生成一个包含3列的表,因此在不同的列中。
始终idproducttype
1的idproductcomponent
为0,idproducttype
2的idproductcomponent
,3与idproducttype
1的idproduct
相同
佩拉塞,你能和我分享一下这个选择的想法吗
假设您的数据库是SQL Server(您不说它是哪一个),则查询可能如下所示:
select
a.name,
b.name,
c.name
from t a
left join t b on b.idproductcomponent = a.idproduct and b.idproducttype = 2
left join t c on c.idproductcomponent = a.idproduct and c.idproducttype = 3
where a.idproducttype = 1
and a.idproduct = 11163 -- parameter you are searching for
要提高此查询的性能,可以添加索引:
create index ix1 on t (idproductcomponent);
数据库是什么?预期结果是什么?加入同一个表
,其中idproduct=idproductcomponent