gpt4 book ai didi

mysql - 根据同一记录中的值选择字段

转载 作者:行者123 更新时间:2023-11-30 00:08:50 25 4
gpt4 key购买 nike

我想根据 IDSELECT一个字段。

Products
PRODUCT_ID Name
19 Chair
20 Table

Product_fields
ID PRODUCT_ID TYPE DESCRIPTION
1 19 C White
2 19 S Modern
3 20 C Black
4 20 S Classic

我需要这样的结果:

Product     Type_C   Type_S
Chair White Modern
Table Black Classic

我可以在product_fields 表上使用两个LEFT JOIN 来生成此结果,但这会大大减慢查询速度。有更好的办法吗?

最佳答案

查询速度减慢了多少?什么是可以接受的?

如果您确实不想使用联接(您必须有一个联接),请使用 View 或嵌套查询。但我不认为它们会更快,尽管你可以尝试一下。

查看 View sqlfiddle

select  p.PRODUCT_ID, p.Name, f.CDescription, f.SDescription
from Products p
join(
SELECT PRODUCT_ID, Max( CDescription ) as CDescription,
Max( SDescription ) as SDescription
FROM(
select PRODUCT_ID,
case Type when 'C' then Description end as CDescription,
case Type when 'S' then Description end as SDescription
from Fields
) x
group by PRODUCT_ID
) f
on f.PRODUCT_ID = p.PRODUCT_ID;

关于mysql - 根据同一记录中的值选择字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24266664/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com