php - mysql 选择多个表并返回所有结果

标签 php mysql sql

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

但是他们只从第二个表中返回一个结果,而不是所有结果

这是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 取回所有内容两个表?

最佳答案

尝试选择用户.*、订单.*、crm.*

请注意,在这种情况下,如果您在这些表中的任何一个中都有公共(public)列,例如每个表中的 id ,则会导致不明确的列名称错误。要摆脱这个问题,您需要使用别名 users.id as user_idorders.id as order_idcrm.id as crm_id 指定这些别名> 等等。

关于php - mysql 选择多个表并返回所有结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40146170/

相关文章:

php - 如何强制 Laravel Eloquent 很好地处理不返回任何结果的查询?

php - pdo 查询选择 2 个日期之间的记录

javascript - PHP 和 cryptoJS IV

MySQL 过滤多对多

mysql - sql查询以根据电子邮件获取 friend

sql - 递归查询

php - 从 2 个不同的表中选择元素以放入 php 循环

MySQL,条件 WHERE 子句

mysql - 计算SQL中以下记录之间的距离

SQL 语句不工作