Ciao a tutti, ho la seguente query:
codice:
SELECT
[idListino]
,[fidFornitore]
,[fidPaese]
,[NomeProdotto]
,[Atc]
,[PrincipioAttivo]
,[Brand]
,[PackSize]
,[CodificaEU]
,[Ean]
,[Prezzo]
,[DataListino]
,[Paesi].Paese as Paese
,[Fornitori].RagioneSociale as RagioneSociale
,'Nessun Prodotto Ita corrispondente.'
FROM Listini
INNER JOIN Fornitori ON fidFornitore=idFornitore
INNER JOIN Paesi ON fidPaese=idPaese
WHERE DataListino IN (SELECT max(DataListino) AS DATA_MAX FROM Listini WHERE fidFornitore=@myidFornitore AND fidPaese=@myidPaese GROUP BY fidFornitore, fidPaese)
AND (CodificaEU IS NOT NULL AND CodificaEU<>'') OR (Ean IS NOT NULL AND Ean<>'')
AND fidFornitore=@myidFornitore AND fidPaese=@myidPaese
ORDER BY NomeProdotto;
Però per essere eseguita ci mette circa un minuto ed è un pò troppo.
Sicuramente il problema è nella prima istruzione WHERE dove cerco in base al max(DataListino). Come posso ottimizzare questa query?
Grzazie a tutti.