Sql server 2005 如何根据条件选择select语句的列?
我必须创建一个SQLServer2005查询,该查询检查表中一个属性的值,并根据其值选择不同的列集。 我该怎么做 例如 在表“car”中,如果“类型”属性的值为1和2 当type=1时,我想执行一个包含3列的select“query1”。 当type=2时,我想用其他4列执行另一个select“query2” 我该怎么做?Sql server 2005 如何根据条件选择select语句的列?,sql-server-2005,Sql Server 2005,我必须创建一个SQLServer2005查询,该查询检查表中一个属性的值,并根据其值选择不同的列集。 我该怎么做 例如 在表“car”中,如果“类型”属性的值为1和2 当type=1时,我想执行一个包含3列的select“query1”。 当type=2时,我想用其他4列执行另一个select“query2” 我该怎么做? 请帮助。我想您看到的是一个带有If语句的存储过程。CASE可以工作,但不能更改返回的列数 SELECT Col1 = CASE WHEN Type = 1 THEN (S
请帮助。我想您看到的是一个带有If语句的存储过程。CASE可以工作,但不能更改返回的列数
SELECT
Col1 = CASE WHEN Type = 1 THEN (SELECT Null FROM T1)
ELSE (SELECT Col1 FROM T2) END
, Col2 = CASE WHEN Type = 1 THEN (SELECT Col1 FROM T1)
ELSE (SELECT Col2 FROM T2) END
, Col3 = CASE WHEN Type = 1 THEN (SELECT Col2 FROM T1)
ELSE (SELECT Col4 FROM T2) END
, Col4 = CASE WHEN Type = 1 THEN (SELECT Col3 FROM T1)
ELSE (SELECT Col4 FROM T2) END
FROM Cars
如果您向我们展示所有相关表格的DDL,您可能会得到更好的答案或不同的更好阅读方法。我很想知道为什么我的和尽管的答案被降级。