簡體   English   中英

在兩個表上左連接並希望從特定日期獲取結果

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

我寫了一個 MySQL 查詢來對兩個表進行左連接。

我的結果查詢顯示了我想要的結果。 我只想知道如何進一步使其僅限於特定日期。

我要排序的列是 user_registered,並以這種格式顯示日期 2020-12-17 06:06:05。 那么如何從兩個不同的日期制作它。 這是我寫下的查詢。

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"

這些是我從查詢中得到的結果所以我想要的是從我可以輸入的特定日期獲得結果。

提前致謝。

停止,您的查詢沒有做您想做的事。

它不是在做Left join而是在做inner join

如果你真的想要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'

如果您需要在兩個日期之間獲取,請使用它。

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'

但是,如果您需要小於或大於 date ,請使用它。 只需根據您的需要更改條件即可。

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