gpt4 book ai didi

mysql - 根据列枚举值创建 SQL 语句

转载 作者:行者123 更新时间:2023-11-29 14:26:45 24 4
gpt4 key购买 nike

假设我有一个名为 Normalize 的表,其中包含一个名为 type 的枚举列

根据行(假设类型是 a、b 或 c),我想根据类型进行 LEFT JOIN。

因此,如果类型 = a,则 LEFT JOIN ON 表 a .. 如果类型 = B,则 LEFT JOIN ON 表 b...等等

这可以有效地完成吗?还是应该在应用层完成?

最佳答案

是的,你应该能够做这样的事情:

SELECT *
FROM parent
LEFT JOIN a ON (type = 'a' AND parent.id = a.id)
LEFT JOIN b ON (type = 'b' AND parent.id = b.id)
LEFT JOIN c ON (type = 'c' AND parent.id = c.id)

您可能需要也可能不需要类型上的索引,具体取决于实际数据以及您的 DBMS 的智能程度(利用应该存在于 PK 下的索引)。无论如何,衡量实际数据量。

关于mysql - 根据列枚举值创建 SQL 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10802685/

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