查询和子查询在同一个表上

时间:2013-12-18 10:24:05

标签: sql sql-server

我有一个包含以下列的表

PatientID | DateOfService | CPTCode | Units

我需要一个基本上可以查找CPTCode = "some value"所有行的查询。此外,对于其中的每一行,它都会找到匹配PatientIDDateOfService的所有其他行。

是否有一个查询可以完成此任务?

提前致谢

3 个答案:

答案 0 :(得分:1)

这样的事情:?

select PatientID,DateOfservice,CPTCode,Units from table where CPTCode in(select CPTCode from table where CPTCode=<some_value> )

:Teh子查询选择与某些值匹配的CPTCode,然后根据子查询选择其他属性

答案 1 :(得分:1)

尝试自我加入:

select b.*
  from yourtable a
  left join
       yourtable b
    on (    a.Patient_ID = b.Patient_ID
        and a.DateOfService = b.DateOfService)
 where a.CPTCode = "some value"

这将返回具有“某个值”的所有行以及匹配DateOfService和Patient_ID的所有其他行

答案 2 :(得分:0)

我没有得到你将如何管理PatientID&amp; DateOfService,就像你说的那样 CPTCode =“某些价值”&amp;匹配PatientID和DateOfService。似乎毫无意义。你如何匹配Id&amp;日期?这仍然可以帮助你。

SELECT 
PatientID,
DateOfService,
CPTCode,
Units
FROM TABLE_NAME
WHERE 
CPTCode = "some value" AND PatientID = DateOfService