gpt4 book ai didi

mysql - 检查ID是否存在于另一个表中,如果存在则返回TRUE

转载 作者:行者123 更新时间:2023-11-29 16:07:34 25 4
gpt4 key购买 nike

我有一个杂货数据库,杂货商品属于类别或子类别,并且可以成为收​​藏夹列表的一部分

当我阅读类别中的项目列表时,我想包含一个 bool 值来查看该项目是否是收藏夹列表的一部分。

收藏夹存储为 Product_ID 和 USER_ID 与主键索引 id 的组合

我无法向收藏夹列表添加左连接。

非常感谢您的支持。

有数据的数据库 https://wetransfer.com/downloads/853bd65b90f3a36b4d9264c018bbda9720190409083930/7d620e


Select a.*, ifnull(Deriv1.Count , 0) as Count, ifnull(Total1.PCount, 0) as PCount FROM `categories` a
LEFT OUTER JOIN (SELECT `parent`, COUNT(*) AS Count FROM `categories` GROUP BY `parent`) Deriv1 ON a.`id` = Deriv1.`parent`
LEFT OUTER JOIN (SELECT `category_id`,COUNT(*) AS PCount,
JOIN (SELECT id From Favorite Where userID='1' ) FROM `products` GROUP BY `category_id`) Total1 ON a.`id` = Total1.`category_id`
WHERE a.`parent`=" . $parent


最佳答案

我不明白检索两个“计数列”的含义。但是,如果您只需要用户 1 的收藏夹或不需要,您可以使用此查询中的 FavouriteOrNot 列:

SELECT p.product_id, a.id, f.userID, IFNULL(Deriv1.Count , 0) as Count, IFNULL(Total1.PCount, 0) as PCount, IFNULL(f.id, 0) as FavouriteOrNot 
FROM
`products` p
INNER JOIN
`categories` a
ON
p.`category_id` = a.`id`
LEFT OUTER JOIN
(SELECT `parent`, COUNT(*) AS Count FROM `categories` GROUP BY `parent`) Deriv1
ON
a.`id` = Deriv1.`parent`
LEFT OUTER JOIN
(SELECT `category_id`,COUNT(*) AS PCount FROM `products` GROUP BY `category_id`)Total1
ON
a.`id` = Total1.`category_id`
LEFT OUTER JOIN
`Favorite` f
ON
f.`ProductID` = p.`product_id`
AND
userID = 1
WHERE a.`parent`= 1

关于mysql - 检查ID是否存在于另一个表中,如果存在则返回TRUE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55588189/

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