SQL Conditional JOIN column [duplicate]

寵の児 提交于 2019-12-04 14:41:59

Try logic like this:

INNER JOIN
exchange_rate c1
ON c1.date = coalesce(j.offer_date, j.accepted_date, j.start_date, j.reported_date)

The coalesce() function returns the first non-NULL value in the list.

The CASE statement could look something like this:

INNER JOIN exchange_rate c1 ON c1.date =
CASE
    WHEN j.offer_date IS NOT NULL THEN j.offer_date
    WHEN j.accepted_date IS NOT NULL THEN j.accepted_date
    WHEN j.start_date IS NOT NULL THEN j.start_date
    ELSE j.reported_date
END
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!