简体   繁体   English

在两个表上左连接并希望从特定日期获取结果

[英]Left join on two tables and want to get results from a specific date

I have written a MySQL query to do left join on two tables.我写了一个 MySQL 查询来对两个表进行左连接。

My result query is showing the result I wanted.我的结果查询显示了我想要的结果。 I just want to know how to further make it limited to specific dates.我只想知道如何进一步使其仅限于特定日期。

The column which I want to sort is user_registered and is showing date in this format 2020-12-17 06:06:05.我要排序的列是 user_registered,并以这种格式显示日期 2020-12-17 06:06:05。 So how to make it from two different dates.那么如何从两个不同的日期制作它。 This is my query which I have written down.这是我写下的查询。

SELECT wp_users.user_email,user_nicename,user_registered,freelancerpaid
FROM wp_users
LEFT JOIN wp_posts
ON wp_users.ID = wp_posts.post_author
WHERE wp_posts.post_type="freelancers"
AND wp_users.freelancerpaid="1"

These are the results i am getting from the query So what I want is to get results from the specific dates I can enter.这些是我从查询中得到的结果所以我想要的是从我可以输入的特定日期获得结果。

Thanks in advance.提前致谢。

Stop , your query is not doing what you want.停止,您的查询没有做您想做的事。

It is not doing Left join but it is doing inner join .它不是在做Left join而是在做inner join

If you really want the left join then condition on left joined table must be in the ON clause and where condition on wp_users can go in where clause as follows:如果你真的想要left join ,那么左连接表上的条件必须在ON子句中, wp_users上的 where 条件可以在where子句中 go 如下:

SELECT wp_users.user_email,user_nicename,user_registered,freelancerpaid
  FROM wp_users
  LEFT JOIN wp_posts ON wp_users.ID = wp_posts.post_author
                    And wp_posts.post_type="freelancers" -- this is moved to ON clause
 Where wp_users.freelancerpaid="1"
   And DATE(wp_users.user_registered) BETWEEN '2020-11-28' AND '2020-11-29'

If you neet to get Between two dates , use this.如果您需要在两个日期之间获取,请使用它。

SELECT wp_users.user_email,user_nicename,user_registered,freelancerpaid
FROM wp_users
LEFT JOIN wp_posts
ON wp_users.ID = wp_posts.post_author
WHERE wp_posts.post_type="freelancers"
AND wp_users.freelancerpaid="1"
AND DATE(user_registered) BETWEEN '2020-11-28' AND '2020-11-29'

But if you neet to get lesser or greater than the date , use this.但是,如果您需要小于或大于 date ,请使用它。 Just change the condition base on what you need.只需根据您的需要更改条件即可。

SELECT wp_users.user_email,user_nicename,user_registered,freelancerpaid
FROM wp_users
LEFT JOIN wp_posts
ON wp_users.ID = wp_posts.post_author
WHERE wp_posts.post_type="freelancers"
AND wp_users.freelancerpaid="1"
AND DATE(user_registered) >= '2020-11-29'

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM