Hallo Mark,
eine Idee zu dem DISTINCT Select (Was Du damit machst ist mir aber immer noch nicht klar).
bisher:
...
LEFT JOIN ( SELECT DISTINCT ItemNrInt,OrderQty,FullPrice,OrderDate,ItemPriceNoVAT,Status FROM invoicelines) invoicelines
ON (invoicelines.ItemNrInt = items.ItemNrInt)
...
Neu:
Anstatt DISTINCT ein GROUP BY. Ich bin mir nicht sicher ob dadurch die Performance besser wird, aber vielleicht. Was Du unbedingt prüfen musst, ob das Ergebnis des Queries auch das selbe ist.
...
LEFT JOIN ( SELECT ItemNrInt,MAX(OrderQty),MAX(FullPrice),MAX(OrderDate),MAX(ItemPriceNoVAT),MAX(Status)
FROM invoicelines
GROUP BY ItemNrInt
ORDER BY NULL) invoicelines
ON (invoicelines.ItemNrInt = items.ItemNrInt)
...
Ich melde mich später noch mal..
Grüße
Thomas