Einzelnen Beitrag anzeigen
  #1  
Alt 11.05.2017, 17:27:10
Daktari Daktari ist offline
Anfänger
 
Registriert seit: Apr 2011
Alter: 51
Beiträge: 49
"Maximal"-Wert einer Abfrage ermitteln

Hi,
ich habe folgendes Problem:
Ich möchte mir von unseren Bestellungen nur die neuesten Bestellungen zu einem Artikel anzeigen lassen, und das Datum des dazugehörigen Wareneingangs.
Nicht immer kommt bei zwei Bestellungen zu ein und demselben Artikel auch der Wareneingang in der zeitlichen Folge wie man es logischerweise erwarten würde. Manchmal kommt erst der Wareneingang der älteren Bestellung und dann der WE der Neueren. Das mag sehr selten vorkommen, aber trotzdem muss ich das bei dieser Abfrage ausschließen können. Das Datum des WE muss also zur jeweiligen Bestellung passen.

Beispiel:
Artikelnr Bestellnr WE-Datum
43177377-004 8450 09.02.2017
43177377-004 8403 11.02.2017

Meine Abfrage lautet im Moment:
PHP-Code:
   SELECT 
        MAX
(`tabvalvebestellungartikel`.`Bestellnr`) AS `Bestellnr`,
        `
tabvalvebestellungartikel`.`Artikelnr` AS `Artikelnr`,
        
max(`tabvalvewe`.`WEDatum`) AS `wedatum`
    
FROM
        
((`tabvalvebestellungartikel`
        
LEFT JOIN `tabvalveweartikelON ((`tabvalveweartikel`.`WEBAnu` = `tabvalvebestellungartikel`.`BANu`)))
        
LEFT JOIN `tabvalveweON ((`tabvalveweartikel`.`WEnr` = `tabvalvewe`.`WEnr`)))
    
WHERE
        
((`tabvalvebestellungartikel`.`MengeGeliefert` = `tabvalvebestellungartikel`.`MengeB`))
    
GROUP BY `tabvalvebestellungartikel`.`Artikelnr`
    
ORDER BY `tabvalvebestellungartikel`.`Artikelnr` , `tabvalvebestellungartikel`.`BestellnrDESC 
Aber damit wird das beschriebene Problem nicht berücksichtigt vermute ich. Es wird von beiden Spalten der Maximalwert angezeigt. Wenn ich das "max" beim Datum weglasse wird aber auch nicht das passende Datum zur dann aufgeführten Bestellnr angezeigt.

Wie geht es denn richtig?
Mit Zitat antworten