我有两张桌子。
我想以一种方式加入他们,如果Leads_details表中的所有lead_id active = 0并且primary = Yes,则Leads表中只有一条记录。

表线索:

    -------------
    | id | name |
    -------------
    | 1  | abc1 |
    | 2  | abc2 |
    | 3  | abc3 |
    | 4  | abc4 |
    | 5  | abc5 |
    -------------


表LeadsDetails:

    --------------------------------------
    | id | lead_id | active | primary_email
    --------------------------------------
    | 1  | 1       | 1       |Yes         |
    | 2  | 1       | 0       |NO          |
    | 3  | 2       | 0       |Yes         |
    | 4  | 3       | 1       |Yes         |
    | 5  | 4       | 0       |Yes         |
    | 6  | 5       | 1       |NO          |
    -------------------------------------


预期输出:

    --------------
    | id | name   |
    --------------
    | 1  | abc2   |
    | 2  | abc4   |
    --------------

SELECT `Lead`.`id`, `Lead`.`name`, `Lead`.`unsubscribe`
FROM `leads` AS `Lead` inner JOIN `LeadsDetails` AS `LeadsDetails`
ON (`LeadsDetails`.`lead_id` = `Lead`.`id`)
WHERE `LeadsDetails`.`primary_email` = 'Yes' AND `LeadsDetails`.`active` = 0

最佳答案

您需要按属性分组

 SELECT `Lead`.`id`, `Lead`.`name`, `Lead`.`unsubscribe`
FROM `leads` AS `Lead` inner JOIN `LeadsDetails` AS `LeadsDetails`
ON (`LeadsDetails`.`lead_id` = `Lead`.`id`)
WHERE `LeadsDetails`.`primary_email` = 'Yes' AND `LeadsDetails`.`active` = 0
GROUP BY lead.id

关于mysql - 如果所有线索均处于事件状态且引线均为0且primary_email =第二表中的是,则MySQL INNER JOIN仅从第一表中选择一行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26200348/

10-14 15:55
查看更多