簡體   English   中英

如何將嵌套的 Oracle SQL 語句轉換為 pySpark Z9778840A0100CB30B582876741B?

[英]How to convert nested Oracle SQL statement to pySpark SQL?

嘗試將此 Oracle SQL 語句轉換為 SQL 語句:

SELECT 
FROM
  P_TIME_PERIODS  TP_RaisedDate,
  P_DCF_ACTIVITY,
  INM_ACTIVITIES,
  P_FINANCE_GROUPS,
  P_CREW_HQS,
  P_ACTIVITY_CODES,
  P_ACTIVITIES,
  (SELECT
  DISTINCT
  M_WW_TWRKAE00.CDE_dist,
  M_WW_TWRKAE00.CDE_WR,
(SELECT DECODE(a.TXT_VALUE,NULL,a.FLG_VALUE,a.TXT_VALUE)  FROM M_WW_TWRKAE00  a WHERE M_WW_TWRKAE00.cde_dist=a.cde_dist AND M_WW_TWRKAE00.cde_wr=a.cde_wr AND a.CDE_ATTRIBUTE='E911') ""Right1"",
 (SELECT DECODE(a.TXT_VALUE,NULL,a.FLG_VALUE,a.TXT_VALUE)  FROM M_WW_TWRKAE00  a WHERE M_WW_TWRKAE00.cde_dist=a.cde_dist AND M_WW_TWRKAE00.cde_wr=a.cde_wr AND a.CDE_ATTRIBUTE='E912') ""Left1"",
 (SELECT DECODE(a.TXT_VALUE,NULL,a.FLG_VALUE,a.TXT_VALUE)  FROM M_WW_TWRKAE00  a WHERE M_WW_TWRKAE00.cde_dist=a.cde_dist AND M_WW_TWRKAE00.cde_wr=a.cde_wr AND a.CDE_ATTRIBUTE='E913') ""Minor1"",
 (SELECT DECODE(a.TXT_VALUE,NULL,a.FLG_VALUE,a.TXT_VALUE)  FROM M_WW_TWRKAE00  a WHERE M_WW_TWRKAE00.cde_dist=a.cde_dist AND M_WW_TWRKAE00.cde_wr=a.cde_wr AND a.CDE_ATTRIBUTE='E914') ""Major1"",

`

DECODE(a.TXT_VALUE,NULL,a.FLG_VALUE,a.TXT_VALUE)

應該與

CASE WHEN a.TXT_VALUE IS NULL THEN a.FLG_VALUE ELSE a.TXT_VALUE END

但可以簡化為

COALESCE(a.TXT_VALUE, a.FLG_VALUE)

它適用於 Spark SQL 和 SQL 服務器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM