私はVS 2010プログラムをC#で作成していますが、SQLでSELECTステートメントを実行しました。2つのテーブルを結合してDistinctレコードを取得します
Table 1 - mailfiles
id,fname,lname,etc...
Table 2 - details,
id,timestamp,page_id,mailfile_id(FK),campaign_id
私は、最新のタイムスタンプでソートされたユニーク/明確なmailfile_idを引き、その後、私の情報の残りの部分を取得するにはメールファイルのテーブルにそれらを結合します。
私はこのような何かを持っていた、私に明確な/ユニークなレコードを取得しますが、私は、私は、タイムスタンプを表示したい詳細列へのアクセスを持っていない
SELECT mailfiles.id,mailfiles.fname,mailfiles.lname,mailfiles.company2,mailfiles.city,etc...
FROM mailfiles
JOIN
(SELECT DISTINCT(details.mailfile_id)
FROM details
GROUP BY details.mailfile_id) as TMP
ON mailfiles.id = TMP.mailfile_id
ORDER BY TMP.mailfile_id DESC
。
ご協力いただければ幸いです。
おかげ
ニック
なぜ、 '、MAX(timestamp)AS timestamp'をサブクエリに追加しないのですか? –
メールファイルの場合、同じIDを持つ複数のファイルが存在する可能性があり、最新のタイムスタンプでファイルを取り出したいのですか?私はあなたが必要とするものを介して論理をしようとしており、あなたの要求には論理的な矛盾があるようです... –
メールファイルは一意のレコードしか持っていません。人がウェブページにどこに何回着地したかを追跡する。それは理にかなっていますか? – Nick