大家好我是Access的新手我试图从一个依赖于另一个表的表中获取数据。所以基本上我有一个名为MUE_Values
的表,它存储了2个字段(cpt_code)
和(mue_value)
。我有另一个名为Claims的表...这个表包含大约75个字段。我的问题是 - 从索赔表中我想得到(cpt_code)
与(cpt_code)
TABLE和MUE_Values
中的(units) > (mue_value)
匹配的所有字段,我也希望得到(cpt_code)
与声明表中的(cpt_code)
匹配的所有行,(patient_ssn)
与(units) > (mue_values)
的日期相同,无论是否为ID patient_ssn cpt_code from_date units Field5 Field6 Field7 etc
1 098345567 12345 10/27/2015 1
2 098345567 12345 10/27/2015 1
3 098345567 09786 10/2/2015 5
4 098345567 54321 10/7/2015 3
5 098345567 87654 10/5/2015 2
6 098345567 87654 10/6/2015 3
7 789797979 65432 10/7/2015 1
8 789797979 65432 10/3/2015 2
9 789797979 76543 10/13/2015 5
10 789797979 76541 10/13/2015 1
11 789797979 12345 10/27/2015 1
12 789797979 87654 10/27/2015 0
。
例如: 索赔表
cpt_code mue_value
12345 1
23456 1
34567 1
45678 1
54321 2
56789 4
65432 1
76543 3
87654 2
98765 2
MUE_values TABLE
(cpt_code)
因此,此查询仅获取具有相同日期和日期计数的患者数据> 1与SELECT Claims.patient_ssn, Claims.from_date, Count(Claims.from_date) AS CountOffrom_date
FROM Claims INNER JOIN MUE_values ON Claims.cpt_code = MUE_values.cpt_code
WHERE (((Claims.cpt_code)=[MUE_values].[cpt_code]))
GROUP BY Claims.patient_ssn, Claims.from_date, MUE_values.cpt_code
HAVING (((Count(Claims.[from_date]))>1))
WHERE (((Claims.units)>[mue_value]));
相同。
SELECT Claims.*
FROM Claims
WHERE EXISTS(SELECT *
FROM MUE_values
WHERE Claims.cpt_code = MUE_values.cpt_code AND
Claims.units > MUE_values.[mue_value]
) OR
EXISTS (SELECT Claims.patient_ssn, Claims.from_date, Count(Claims.from_date) AS CountOffrom_date
FROM Claims INNER JOIN MUE_values ON Claims.cpt_code = MUE_values.cpt_code
WHERE (((Claims.cpt_code)=[MUE_values].[cpt_code]))
GROUP BY Claims.patient_ssn, Claims.from_date, MUE_values.cpt_code
HAVING (((Count(Claims.[from_date]))>1)));
但是当我把它放在一个查询中时,它会返回所有具有相同from_date的行,而不仅仅是上面查询中的那一行以及来自第一个子查询的其他四行
ID patient_ssn cpt_code from_date units Field5 Field6 Field7 etc...
1 098345567 12345 10/27/2015 1
2 098345567 12345 10/27/2015 1
4 098345567 54321 10/7/2015 3
6 098345567 87654 10/6/2015 3
8 789797979 65432 10/3/2015 2
9 789797979 76543 10/13/2015 5
这应该是结果:
ID patient_ssn cpt_code from_date units Field5 Field6 Field7 etc...
1 098345567 12345 10/27/2015 1
2 098345567 12345 10/27/2015 1
3 098345567 09786 10/2/2015 5
4 098345567 54321 10/7/2015 3
5 098345567 87654 10/5/2015 2
6 098345567 87654 10/6/2015 3
7 789797979 65432 10/7/2015 1
8 789797979 65432 10/3/2015 2
9 789797979 76543 10/13/2015 5
10 789797979 76541 10/13/2015 1
11 789797979 12345 10/27/2015 1
12 789797979 87654 10/27/2015 0
相反,我得到了这个结果:
def sumList(l):
if l == []:
return 0
else:
return sumList(l[1:]) + l[0]
def main():
l=[3,2,5,3]
print(sumList(l))
main()
答案 0 :(得分:0)
当我阅读您的要求时,听起来像EXISTS
:
SELECT Claims.*
FROM Claims
WHERE EXISTS (SELECT 1
FROM MUE_values
WHERE Claims.cpt_code = MUE_values.cpt_code AND
Claims.units > MUE_values.[mue_value]
) OR
EXISTS (SELECT 1
FROM MUE_values
WHERE Claims.cpt_code = MUE_values.cpt_code AND
Claims.patent_ssn = MUE_values.patient_ssn
);
然而,我不知道"同一日期"意思是,因为一张桌子肯定没有日期。