這裏是我的情況:SQL連接問題
我有一個包含出售含有NDC(標識)的藥物列表中選擇一個表,銷售數量,以及該藥物是否是一個品牌名稱或通用。我有另一張包含處方號碼,日期和NDC的表格。
我需要爲前50名仿製藥和前50名品牌藥生成最新的4個處方數量的清單。
簡單的例子:
Drug_list:
NDC QTY Type
123 50 Generic
125 47 Brand
128 34 Generic
...
549 1 Brand
294 1 Generic
Claims_list:
NDC RX_num Date
123 1234 20081027
123 4194 20090517
594 12598 20091012
我將如何書寫一個連接產生的
NDC RX1, RX2, RX3, RX4
其中NDC是50個最常見的「品牌」國家數據中心的列表,下面RXS是最近索賠的RX號碼?
~~~~~~~
到目前爲止,我有這樣的:
select t.ndc, cl.rx, cl.date from (
select * from (
select * from (
select * from drug_list where brand = 'Generic')
order by qty)
where rownum < 51) t
join claims_list cl on cl.ndc = t.ndc
order by t.ndc, cl.date;
這讓我的存在方式的一部分。從那裏,我如何將它減少到每NDC只有4個結果?而且,是有可能得到它從以下方面:
NDC, RX1, RX2, RX3, RX4
如果我必須把它報告爲:
NDC1, RX1
NDC1, RX2
NDC1, RX3
NDC1, RX4
NDC2, RX1
NDC2, RX2
NDC2, RX3
NDC2, RX4
NDC3, RX1
... etc
但我寧願把它在一行。
~~~~ (如要求通過註釋:創建例如表TABLE語句):
create table drug_list
(NDC varchar2(15), QTY number, type varchar2(10));
create table claims_list
(NDC varchar2(15), RX_num varchar2(20), "date" date);
處方編號是指哪一列? – super9 2009-10-30 18:53:11
RX_num =處方編號 – 2009-10-30 18:54:44
您可以提供創建表語句和可能的一些插入嗎? – tuinstoel 2009-10-30 19:08:18