SELECT qd.new_capid, qd.new_captype,
cv.*
FROM quotedetailextensionbase qd
LEFT JOIN new_capvehicleextensionbase cv
ON qd.new_capid = cv.new_capid
AND qd.new_captype = cv.new_type
一个非常简单的连接,除了最后一行
AND qd.new_captype = cv.new_type
qd.new_captype是varchar,可以是“car”或“van” cv.new_type是int,可以是1或2
car = 1 van = 2
有什么方法可以“翻译”一个到另一个来进行连接吗?
由于
答案 0 :(得分:1)
如果只有2个值,则可以在以下内容中使用CASE
:
AND case qd.new_captype when 'car' then 1 when 'van' then 2 else 0 end = cv.new_type
答案 1 :(得分:1)
您可以加入CASE
表达式:
SELECT qd.new_capid, qd.new_captype,
cv.*
FROM quotedetailextensionbase qd
LEFT JOIN new_capvehicleextensionbase cv
ON qd.new_capid = cv.new_capid
AND (CASE qd.new_captype when 'car' then 1 when 'van' then 2 end) = cv.new_type