Левое внешнее соединение не работает?
У меня есть запрос, извлекающий данные из трех таблиц, используя 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