mysql选择多个表并带回所有结果

时间:2016-10-20 05:31:42

标签: php mysql sql

我正在尝试从多个表中选择有两个条件的所有内容。

但是他们只从第二张表中带回一个结果,而不是一切

这是MySql代码

SELECT *
  FROM `core_users`.`users`
     LEFT JOIN `core`.`orders`
       ON `core_users`.`users`.`uid` = `core`.`orders`.`uid`
     LEFT JOIN `core_users`.`crm`
       ON `core_users`.`users`.`uid` = `core_users`.`crm`.`uid`
  WHERE (`core_users`.`users`.`signup_timestamp` BETWEEN '1476626400' AND '1476712800'
     OR (`core_users`.`crm`.`type` = 'refresh_5in5' AND `core_users`.`crm`.`value` BETWEEN '1476626400' AND '1476712800') )

这只会从crm表中返回1个结果。但是我希望它能从crm表中恢复所有结果。

如果在两个表上都有WHERE子句,我如何从usersorderscrm带回所有内容

1 个答案:

答案 0 :(得分:1)

尝试select users.*, orders.*, crm.*

请注意,在这种情况下,如果您在每个表格中都有id这些表格中的公共列,则会导致不明确的列名称错误。要摆脱这种情况,您需要使用别名users.id as user_idorders.id as order_idcrm.id as crm_id等来指定这些内容。