tbl_doctors_details
, tbl_time
및 tbl_token
세 개의 테이블이 있습니다.postgresql에서 CASE, WHEN, THEN을 사용하여 쿼리가 작동하지 않습니다.
tbl_time
또는 tbl_token
에서 세부 정보를 선택해야합니다. 병원의 특정 의사가 t_type
인 경우 time
일 경우 tbl_time
중에서 선택하고 tbl_token
을 선택합니다.
예를 들어, doctor_id
이 100이고 hospital_id
1 인 경우, t_type
은 time
입니다. 따라서이 사용자의 경우 세부 정보는 tbl_time
표에서 선택해야합니다.
가 어떻게 여기 쿼리에서 CASE 조건을 사용할 수 있습니다
아래 세 개의 테이블의 샘플 구조와 데이터는?
내가 시도 :
SELECT *
FROM
(SELECT * CASE WHEN t_type= 'time' FROM dbname.tbl_doctors_details t1 THEN
dbname.tbl_time t2
ELSE
dbname.tbl_token t2
WHERE t1.hospital_id=t2.hospital_id AND t1.doctor_id=t2.doctor_id);
내가 쿼리가 작동하지 알고 있지만 어떻게 작동 쿼리를 만들 수 있습니까?
http://meta.stackoverflow.com/questions/285551/왜 내가 코드를 업로드하지 않는 이유는 무엇입니까? 285557 # 285557 –
데이터베이스를 표준화하면 훨씬 쉽게 작업 할 수 있다고 생각합니다. 그. – rbr94
질문을하기 위해 샘플 데이터를주었습니다. 실제 데이터와 다릅니다. – next2u