0
私は以下のようなテーブルをPostgresqlに持っています。このシナリオのクエリを書く方法
+_______+________+__________+________+
|id |name | rate | amount |
+_______+________+__________+________+
|123 | Flat | | 40 |
|123 | weekly | 200 | |
+_______+________+__________+________+
「名前」列にそのフラットとレートを週単位で表示する必要があります。このような出力が期待されます。
+_______+________+__________+________+
|id |name | rate | amount |
+_______+________+__________+________+
|123 | 40 | | 40 |
|123 | 200 | 200 | |
+_______+________+__________+________+
PostgreSQLで実行可能ですか?はいの場合、それを行う方法。
選択eng.id、et.name、cwd.week_num、cwd.rate、cwd.amount、et.idが係ENG から をengagement_type_idはreporting.vw_scale_dealに参加左eng.id = vsd.engagement_id et.id = eng.engagement_type_id にlookups.engagement_typeら に参加上のVSD はeng.id = cwd.engagement_id にengagement_contract_weekly_detailのCWD に参加したところcwd.week_num = 1 とケースet.nam ( 'Scale Terms'、 'Flat Billing')を入力してからcwd.week_num else 1 end = 1 とし、et.nameを( 'Weekly Percentage')にした場合はcwd.rate else cwd.amount end –
ANDの引数はboolean型でなければなりません。数値型ではありません。 –
クエリの最後の部分です。 'et.name in(Weekly Percentage')then cwd.rate else cwd.amount end'数値に評価されますが、あなたはブール値が必要です – Fabricator