gpt4 book ai didi

mysql - SELECT(IF(IN 查询

转载 作者:行者123 更新时间:2023-11-29 01:02:04 24 4
gpt4 key购买 nike

有 3 个表。产品、选项和 Prod_Opts_relations。后者包含 product_id 和 option_id,因此我应该能够找出为任何给定产品选择了哪些选项。

现在我想从选项表中检索所有选项,其中额外别名字段的值应保持选中或未选中,具体取决于给定产品 ID 的关系表中是否存在数学记录。

到目前为止,我想到了这个:

SELECT 
IF(IN(SELECT id_option FROM prod_opt_relations WHERE id_product='18'),'y','n') AS booh
,optionstable.id AS parent_id
,optionstable.name_en AS parent_english
,optionstable.name_es AS parent_spanish
FROM product_options AS optionstable
WHERE 1

导致语法错误。

唉,我就是想不通哪里出了问题

最佳答案

在您的两个表之间使用左连接,无论是否匹配,都可以从选项表中检索所有数据。然后测试从右表返回的值是否为 null 以设置您的 y/n 标志。

SELECT                                                                        
IF(por.id_product IS NULL, 'n', 'y') AS booh
,optionstable.id AS parent_id
,optionstable.name_en AS parent_english
,optionstable.name_es AS parent_spanish
FROM
product_options AS optionstable
LEFT JOIN prod_opt_relations as por ON (
por.id_product=18 AND por.id_option=optionstable.id_option
)
WHERE 1

关于mysql - SELECT(IF(IN 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2469075/

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