postgres sqlを書いています。
どこまでなら構文が通るかを試したところ、以下の構文で引っ掛かりました。
A,Bの2テーブルを跨いでCASE文を作成していますが、以下のCASE文が上手く通りません。
CASE文のネストの仕方は間違っていますでしょうか。
時間の都合でcreate tableなどは用意できないのですが、
目視で判断して下さる方のみお返事をお願い致します。
postgres
1(CASE WHEN (LENGTH(A.date1) = 0) AND (LENGTH(B.date1) = 0) THEN A.date2 2 ELSE 3(CASE WHEN (LENGTH(A.date1) = 0) AND (LENGTH(B.date1) > 0) THEN B.date1 4 ELSE 5(CASE WHEN LENGTH(A.date1) > 0 THEN A.date1 6 END) 7 END) 8 END) 9※Aテーブルのdate1のデータとBテーブルのdate1のデータのlengthが0だったら、 10 Aテーブルのdate2のデータがinsertされる。 11 上記でない場合、 12 Aテーブルのdate1のデータのlengthが0で、Bテーブルのdate1のデータのlengthが0以上あれば、 13 Bテーブルのdate1のデータがinsertされる。 14 上記でない場合、 15 Aテーブルのdate1のデータのlengthが0以上あれば、Aテーブルのdate1のデータがinsertされる。
SQLは https://teratail.com/help/question-tips#questionTips3-7 の [コード] に修正してください。
質問に CREATE TABLE と 何件かINSERTも追記してください。
中途半端なクエリであることもそうだけど、テーブル定義とデータの内容がわからないと空振りの原因を特定するなんて無理じゃないかと。(どの条件がマズイのか判断する材料がない)
どこがおかしいか当たりがついているので、ピンポイントな質問に変えて再度投稿します。失礼致しました。
ちゃんとした情報を出さずにコードの断片だけ出してバグ探してくれ、というのはただの作業依頼で、ガイドライン的にもNGだと思います。
時間の都合が云々言うのであれば、いつ回答をもらえるかわからないQ&Aサイトで質問するのではなく、社内でレビューや相談をすればいいのでは。
他の方の質問の仕方はどのような感じなのか見て見ましたが、このレベルの質問内容ならば
たくさんいらっしゃいました。それに答えて下さる方もいました。
答えて下さる方だけ答えてくれれば良いです。
無料の掲示板なのに、最近は食ってかかる人もいるので誰もコメントしなくなります。
https://teratail.com/questions/203670
呼びました?(^_^;)
自分は結構、回答書いちゃう派ですが、こういうコメント見ると書く気がなくなります。
そんな対応をしていると、結局自分が損をしますよ。> chawa さん
そもそもが力になってあげられそうな問題だからちゃんと情報出そうぜ、と促す意味でコメント書いてるけど、本人が協力したくないんじゃどうしようもないわな。
KOZ6.0 さん、お呼びたてしてすみません。
わたしがオープン系の仕事を初めた頃は会社できちんと教育体制を用意してくれたのですが、最近はマニュアルを読んでわからないことはググれ、だけで現場に投入するブラック企業が多過ぎです。