私は3つのテーブル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
テーブルから選択する必要があります。以下は
3つのテーブルのサンプル構造とデータである:
どのように私はここにクエリで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