我有一個查詢從三個表中使用LEFT OUTER JOIN爲兩個連接提取數據。我需要查詢返回最左邊的(Salesrep表)信息,即使兩個右表(分別爲開處方和處方)中沒有相應的數據。當我在WHERE子句中運行沒有日期參數的查詢時,我得到了預期的回報,但只要包含日期參數,我就沒有返回沒有匹配的salesrep數據的情況。我需要至少查看查詢中請求的salesrep表列。左外連接不工作?
這是查詢...任何幫助非常感謝。
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
什麼DBMS? (脫離主題,但我討厭毒品代理和藥品行業) – Kermit
@njk(偏離主題)這並不令人意外,考慮到媒體對該行業的強烈偏見:) – dasblinkenlight