2013-12-18 5 views
-2

У меня есть таблица, которая имеет следующие столбцызапросов и подзапросов на одной и той же таблицы

PatientID | DateOfService | CPTCode | Units 

Мне нужен запрос, который будет по существу найти все строки, где CPTCode = "some value". Кроме того, для каждой из этих строк он найдет все остальные строки, где есть соответствующие PatientID и DateOfService.

Есть ли один запрос, который может выполнить эту задачу?

Заранее благодарен

+1

@MumbaiMann Если вы пробовали все, что угодно, пожалуйста, поделитесь с ним тем же. Потому что это поможет нам четко понять ваше требование. –

ответ

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

+0

Зачем использовать соединение? jus подзапрос будет делать !! –

+1

вы правы. сначала я думал, что он хочет, чтобы записи с «некоторым значением», а именно «a. *». только тогда я понял, что они также были включены во второй набор ('b. *'). –

+0

Бретт, большое вам спасибо за ваш ответ. Это сработало для меня. – MumbaiMann

1

что-то вроде этого:?

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

: Teh подзапрос выберите CPTCode, который соответствует с некоторыми значениями, чем другие атрибуты выбираются на основе подзапроса

0

Я не получаю, как лет u управлять PatientID & DateOfService, как вы сказали, вы хотите CPTCode = "некоторое значение" &, соответствующее PatientID и DateOfService. Кажется бессмысленным. Как вы можете сопоставить ID & Дата? Тем не менее это может помочь вам.

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

Я подозреваю, что он хочет отфильтровать лечение или что-то еще и хочет знать, что еще те пациенты получили в тот день. –

+0

Может быть, он хочет присоединиться к таблице самостоятельно и выбрать на основе следующего и предыдущего условий, как вы указали. Попросите его прийти на землю, а затем спросите: – Aditya

Смежные вопросы