我有 SQL 来显示该事件的所有事件和相关管理权限(如果有)。
当前的 SQL 代码:
SELECT `activities`.*, `admins`.`admin_role_id`
FROM (`activities`)
LEFT JOIN `admins` ON `admins`.`activity_id`=`activities`.`id` AND admins.member_id=27500
WHERE `activities`.`active` = 1
返回:
id | name | description | active | admin_role_id (or null)
然后我需要检测他们是否是该 Activity 中的活跃成员。
我有以下 SQL 代码:
SELECT DISTINCT `products`.`activity_ID` as joinedID
FROM (`transactions_items`)
JOIN `transactions` ON `transactions`.`id` = `transactions_items`.`id`
JOIN `products` ON `products`.`id` = `transactions_items`.`product_id`
JOIN `activities` ON `activities`.`id` = `products`.`activity_ID`
WHERE `transactions`.`member_id` = 27500
AND `activities`.`active` = 1
有没有办法将其合并到一个 SQL 查询中。由于 JOIN 的复杂性,我不知道如何使用正确的 JOIN 查询。
求助,谢谢! :)
最佳答案
这样试试
SELECT `activities`.*, `admins`.`admin_role_id`
FROM (`activities`)
LEFT JOIN `admins` ON `admins`.`activity_id`=`activities`.`id` AND admins.member_id=27500
JOIN (`transactions_items`
JOIN `transactions` ON `transactions`.`id` = `transactions_items`.`id`
JOIN `products` ON `products`.`id` = `transactions_items`.`product_id`)
ON `activities`.`id`=`products`.`activity_ID`
WHERE `transactions`.`member_id` = 27500
AND `activities`.`active` = 1
关于mysql - SQL JOIN 查询 - 链接四个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17772055/