我需要在 SELECT QUERY 中创建一个有条件的列。像这样的东西:
SELECT NAME, ADDRESS, IF TABLE.COD=101 THEN return TABLE.VALUE AS TABLE
FROM CRM
所以 SELECT 中的第三个参数是我带有条件的计算列。
我相信这很简单,但我没有成功解决这个问题。
SELECT NAME, ADDRESS, (Case WHEN TABLE.COD=101 THEN TABLE.VALUE END) AS TABLE
FROM CRM
IIF
函数。
坦率地说,
IIF
只是名称上的函数,本质上它是一种简写,是扩展为CASE
语句的宏替换。
这种密切的关系可能就是您在撰写陈述时弄错
IF
和 CASE
的原因。
SELECT NAME, ADDRESS, IIF(TABLE.COD=101, TABLE.VALUE, NULL) as TABLE FROM CRM
现在看来你的说法并不真实。您引用了
TABLE.COD
和 TABLE.VALUE
- 这些显然是第二个表中的一些字段,但您忘记将其包含在您的 FROM
子句中!
因此,我认为您真正需要的可能不是某些条件/计算,而是普通的旧
OUTER JOIN
。 SELECT A.NAME, A,ADDRESS, B.VALUE as TABLE
FROM CRM A
LEFT JOIN SomeTable B ON B.COD=101 AND B.XXXX = A.YYYY