Sql select上的Oracle案例语句
尝试使用select语句的列对其使用条件。我怎么能写这样的东西Sql select上的Oracle案例语句,sql,oracle,Sql,Oracle,尝试使用select语句的列对其使用条件。我怎么能写这样的东西 SELECT * FROM ( CASE (SELECT date_term, e_status FROM HM WHERE c_num = 2327 AND e_unique = 'something') W
SELECT * FROM ( CASE (SELECT date_term, e_status
FROM HM
WHERE c_num = 2327
AND e_unique = 'something')
WHEN (date_term) < TRUNC(SYSDATE)
OR (e_status IS NOT NULL OR e_status <> 'A')
THEN (SELECT NULL AS A,
NULL AS B,
NULL AS C,
NULL AS D,
NULL AS E,
NULL AS F
FROM DUAL)
ELSE (SELECT p_val, p_type
FROM I_PARM T
WHERE c_num=2327
)
PIVOT
(
MIN(p_val)
FOR p_type IN ('A1' AS A,
'B2' AS B,
'C3' AS C,
'D4' AS D,
'E5' AS E,
'F6' AS F)
)
END);
更新整个查询比我原来的查询复杂一点。
我得到一个缺少右括号的错误。谢谢
SELECT case when x.a = 'something' then b.y
else c.z end
FROM X JOIN Y on x.somecol = y.somecol
JOIN Z on x.somecol = z.somecol;
你在这个问题上的理解是对case的错误使用。用适当的列名替换联接条件,因为您似乎从不同的表中提取值
你在这个问题上的理解是对case的错误使用。用适当的列名替换联接条件,因为您似乎从不同的表中提取值
你在这个问题上的理解是对case的错误使用。用适当的列名替换联接条件,因为您似乎从不同的表中提取值
你在这个问题上的理解是对case的错误使用。用适当的列名替换联接条件,因为您似乎从不同的表中选取了值。您也可以使用CASE x.a WHEN'something'THEN,但不能在CASE后面有值,也不能在WHEN之后有比较。您也可以使用CASE x.a WHEN'something'THEN,但不能在大小写后同时使用值和在时间后进行比较。也可以在“某物”之后使用案例x.a when,但不能在大小写后同时使用值和在时间后进行比较。也可以在“某物”之后使用案例x.a when,但不能在大小写后同时使用值和在时间后进行比较。