У меня есть следующее соединение:
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. Существует столбец DATETIME с именем «dDatum» и внешний ключ «tLieferant_kLieferant».
Теперь мне нужны только самые последние данные из этой таблицы, объединенные с другими материалами. Я уже использовал функцию MAX (gk1.dDatum), но я все еще получаю все записи gk1. Мне нужно только самое последнее (с самой высокой датой). На самом деле мне не нужно выводить дату, а только фильтровать данные.
Я запускаю этот оператор на Microsoft SQL Server через ODBC. Вам нужна дополнительная информация?
Надеюсь, вы мне поможете. Заранее спасибо.