0

だから私は2つのテーブルを持っています:

  1. お客様
  2. ファイル

参加して最新のレコードを表示するにはどうすればよいですか。つまり、created_onDESCを使用します。

例えば

SELECT customers.name, files.last_file_submission

私が持っている場合:

customer A
 - File 1, created_on 10-10-2012
 - File 2, created_on 11-10-2012

そして、次のような顧客ごとに1行を返したいと思います。

customer A, 11-10-2012
4

2 に答える 2

1

ファイルごと:

SELECT c.name, f.submit_date
FROM files f, customers c
WHERE f.submitter = c.id
ORDER BY f.submit_date DESC

ユーザーあたり:

SELECT DISTINCT c.name, MAX(f.submit_date)
FROM files f, customers c
WHERE f.submitter = c.id
ORDER BY MAX(f.submit_date) DESC
GROUP BY c.id
于 2012-10-08T05:28:48.987 に答える
0

顧客がファイルの記録を持っているかどうかに関係なく、すべての顧客とその最新のファイル日付が表示されます。

SELECT DISTINCT customer.id, customer.name, MAX(file.submit_date)
FROM customer LEFT JOIN file ON customer.id = file.submitter
GROUP BY customer.id, customer.name

LEFTファイル テーブルに参照がある顧客間のみ結合をINNER制限するように変更できます。

于 2012-10-08T05:45:08.057 に答える