我正在尝试从有 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 子句时,如何从 users
、orders
和 crm
取回所有内容两个表?
最佳答案
尝试选择用户.*、订单.*、crm.*
请注意,在这种情况下,如果您在这些表中的任何一个中都有公共(public)列,例如每个表中的 id
,则会导致不明确的列名称错误。要摆脱这个问题,您需要使用别名 users.id as user_id
、orders.id as order_id
、crm.id as crm_id
指定这些别名> 等等。
关于php - mysql 选择多个表并返回所有结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40146170/