Ho una query che recupera i dati da tre tabelle utilizzando LEFT OUTER JOIN per entrambi i join. Ho bisogno che la query restituisca le informazioni più a sinistra (tabella Salesrep) anche se non ci sono dati corrispondenti nelle due tabelle a destra (prescrittore e prescrizioni, rispettivamente). Quando eseguo questa query senza i parametri di data nella clausola WHERE, ottengo il rendimento atteso, ma non appena includo i parametri di data non ottengo nulla restituito dove non ci sono dati corrispondenti per una vendita. Devo almeno vedere le colonne della tabella di vendita richieste nella query.L'esterno sinistro non funziona?
Ecco la query ... qualsiasi aiuto è MOLTO molto apprezzato.
SELECT salesrep.salesrepid as SalesRepID,
salesrep.fname as SalesrepFName,
salesrep.lname as SalesRepLName,
salesrep.fname+' '+salesrep.lname as SalesRepFullName,
prescriber.dea_no as PDeaNo,
prescriber.lname+', '+prescriber.fname as DocName,
CONVERT(VARCHAR(8), prescriptions.filldate, 1) as FillDate,
prescriptions.drugname as DrugName,
prescriptions.daysupply as Supply,
prescriptions.qtydisp as QtyDisp,
prescriptions.rx_no as Refill,
prescriptions.copay as Sample,
ROUND(prescriptions.AgreedToPay-(prescriptions.AgreedToPay*.07),2) as AgreedToPay,
prescriptions.carrierid as CarrierID
FROM salesrep
LEFT OUTER JOIN prescriber on salesrep.salesrepid = prescriber.salesrepid
LEFT OUTER JOIN prescriptions on prescriber.dea_no = prescriptions.dea_no
WHERE salesrep.salesrepid = 143 AND
prescriptions.filldate >= '09-01-12' AND
prescriptions.filldate <= '09-17-12'
ORDER BY prescriptions.filldate
Che tipo di DBMS? (Off topic, ma odio i rappresentanti di droga e industria farmaceutica) – Kermit
@njk (Off topic) questo non è affatto sorprendente, considerando una forte inclinazione mediatica contro l'industria :) – dasblinkenlight