0
私は2つのテンポラリテーブルtable_a
とtable_b
を持っており、このクエリとそのすべての条件が正しく動作するようにしようとしています。解決できない 'a.id
' 所定の入力欄:[ID、NUM、testdate:SparkSQL
を使用して、これらの二つのテーブルに上記クエリを実行sparkSQL "paseparkの2つのテーブル列を持つケース"
SELECT DISTINCT CASE WHEN a.id IS NULL THEN b.id ELSE a.id END id,
CASE WHEN a.num IS NULL THEN b.num ELSE a.num END num,
CASE WHEN a.testdate IS NULL THEN b.testdate ELSE a.testdate END testdate
FROM table_a a
FULL OUTER JOIN table_b b
ON (a.id=b.id AND a.num=b.num AND a.testdate=b.testdate)
WHERE
(CASE WHEN a.t_amt IS NULL THEN 0 ELSE a.t_amt END)
<>
(CASE WHEN b.t_amt IS NULL THEN 0 ELSE b.t_amt END) OR
(CASE WHEN a.qty IS NULL THEN 0 ELSE a.qty END)
<>
(CASE WHEN b.qty IS NULL THEN 0 ELSE b.qty END)
ORDER BY
CASE WHEN a.id IS NULL THEN b.id ELSE a.id END,
CASE WHEN a.num IS NULL THEN b.num ELSE a.num END,
CASE WHEN a.testdate IS NULL THEN b.testdate ELSE a.testdate END
次のエラーを
sqlq = <the sql from above>
df = sqlContext.sql(sqlq)
"uはAnalysisException" を生成します]; "
私は、おそらく動作するであろう答えを与えましたが、いくつかの文脈やテーブルの説明とあなたが達成しようとしているものは、より良い答えを得るのに役立つでしょう。 – Flygenring