我有以下連接:如何用SQL連接獲取最新的數據集?
SELECT l.cFirma AS Lieferant,
SUM(la.fEKNetto) AS Verbindlichkeiten,
l.kLieferant AS Lieferanten_ID,
100 - gk1.fFaktor * 100 AS Grundkondition,
MAX(gk1.dDatum) AS Datum
FROM tBestellung b, tArtikel a, tBestellpos p, tLieferant l, tLiefArtikel la, tGrundkondition gk1
WHERE
CAST('01.01.2010' AS DATETIME) <= CAST(b.dErstellt AS DATETIME)
AND b.cType = 'B'
AND p.tBestellung_kBestellung = b.kBestellung
AND a.kArtikel = p.tArtikel_kArtikel
AND l.kLieferant = la.tLieferant_KLieferant
AND a.kArtikel = la.tArtikel_kArtikel
AND gk1.tLieferant_kLieferant = l.kLieferant
GROUP BY l.kLieferant, cFirma, gk1.fFaktor
ORDER BY Verbindlichkeiten DESC, Lieferant
請在桌子上發展論壇 「tGrundkondition」 別名GK1。有一個名爲「dDatum」的DATETIME列和一個外鍵「tLieferant_kLieferant」。
現在我只需要此表中的最新數據,並加入其他內容。我已經使用了MAX(gk1.dDatum)函數,但我仍然獲得了gk1的所有條目。我只需要最新的(具有最高dDate)。其實我不需要輸出日期,而只需要過濾數據。
我在Microsoft SQL Server上通過ODBC運行此語句。你需要進一步的信息嗎?
我希望你能幫助我。提前致謝。
由於這是它。也感謝其他答覆者。但是這個解決方案返回所有tLieferant的最新條目,而其他asnwers只返回最新的條目(只有一行)。 – c0d3x 2010-02-05 09:52:31