从多个表中选择的sql查询
我只有一个表,该表有3个值对应一个记录。 例如: 记录1从多个表中选择的sql查询,sql,sql-server,Sql,Sql Server,我只有一个表,该表有3个值对应一个记录。 例如: 记录1 根据id的值 按日期计算的价值 默认值 我必须以这样一种方式编写查询:它按照以下方式选择值 if values present for id then select values by id if not then if values present for dates then select by dates if not Then if values for default taken 我应该如何编写单个SQL查
if
values present for id then select values by id
if not
then
if values present for dates then select by dates
if not
Then if values for default taken
我应该如何编写单个SQL查询来选择值
请记住,始终存在默认值,但可能没有id和日期的值。您需要使用语句
大概是这样的:
SELECT CASE WHEN id IS NOT NULL THEN id
WHEN dates IS NOT NULL THEN dates
ELSE [default]
END
FROM table1
INNER JOIN table 2 ON table1.id = table2.id
.
.
.
依此类推我创建了一个临时表并按id插入,然后检查是否有值,然后再次按日期插入,再次查看是否有值,然后插入默认值,但这不是我想要的一个好解决方案。这有点不清楚,当你说“存在值”时,是指每行还是整个表?(即,检查每一行返回的值,还是先检查并选择整个表的列?)我的3个表实际上是由多个表的连接创建的,所以您需要将每个表视为单独的新表,然后将联接加入到SELECT语句中。