Tôi có một truy vấn lấy dữ liệu từ ba bảng bằng cách sử dụng LEFT OUTER JOIN cho cả hai phép nối. Tôi cần truy vấn để trả lại thông tin bên trái nhất (bảng Salesrep) ngay cả khi không có dữ liệu tương ứng trong hai bảng bên phải (người kê đơn và đơn thuốc tương ứng). Khi tôi chạy truy vấn này mà không có các tham số ngày trong mệnh đề WHERE, tôi nhận được lợi tức mong đợi, nhưng ngay sau khi tôi bao gồm các tham số ngày, tôi không nhận được gì khi không có dữ liệu phù hợp cho một salesrep. Tôi cần ít nhất xem các cột bảng salesrep được yêu cầu trong truy vấn.Bên ngoài tham gia không hoạt động?
Đây là truy vấn ... bất kỳ trợ giúp nào đều được đánh giá cao.
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 nào? (Tắt chủ đề, nhưng tôi ghét đại diện ma túy và ngành công nghiệp dược phẩm) – Kermit
@njk (Tắt chủ đề) điều này không đáng ngạc nhiên chút nào, xem xét một xu hướng truyền thông mạnh mẽ chống lại ngành công nghiệp :) – dasblinkenlight