簡體   English   中英

加入兩個表並獲取最新日期。

[英]Join two tables and get the latest date.

我是該表格的新手,希望我能得到一些很棒的幫助!

我有三張桌子

1 "companies"
  ID 

2 "log"
  compid
  datum (date)

3 "sales" 
  datumnow (datetime)
  uppdaterad (datetime)

我想比較日志和銷售,並獲取最新或“最新”條目,並顯示表1中公司的ASC列表,每行僅一個公司。 (比較datum,datumnow和uppdaterad,並獲得公司中每個ID一行顯示的最高日期值)

#RESULT 
Rover - 2012-01-15
Daniel - 2012-02-01
Damien - 2012-03-05

我已經為此苦苦掙扎了幾天,無法解決這個問題。 應用程式 任何幫助! 謝謝。

您可以使用GREATEST()返回這三列中的最新日期。 假設您在sales中還有與其他表格相關的另一列。 從上面顯示的結構中,關系尚不清楚。

SELECT
  companies.ID,
  GREATEST(log.datum, sales.datumnow, sales.uppdatedad) AS mostrecent
FROM
  companies LEFT JOIN log ON companies.ID = log.compid
  /* Assumes sales also has a compid column.  Will edit if new info is posted */
  LEFT JOIN sales ON companies.ID = sales.compid
WHERE log.userid='$userID' AND sales.seller='$userID'

對於每個公司的最大日期只有一行,請使用MAX()聚合和GROUP BY

SELECT
  companies.ID,
  MAX(GREATEST(log.datum, sales.datumnow, sales.uppdatedad)) AS mostrecent
FROM
  companies LEFT JOIN log ON companies.ID = log.compid
  /* Assumes sales also has a compid column.  Will edit if new info is posted */
  LEFT JOIN sales ON companies.ID = sales.compid
WHERE log.userid='$userID' AND sales.seller='$userID'
GROUP BY companies.ID

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM