両方の結合でLEFT OUTER JOINを使用して3つのテーブルからデータを取得するクエリがあります。右の2つのテーブル(それぞれ処方箋と処方箋)に対応するデータがない場合でも、左端の(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