【发布时间】:2013-05-09 18:11:46
【问题描述】:
我在使用 IF / ELSE 来确定要执行哪一个或两个 SELECT 语句时遇到了一些奇怪的问题。运行完整语句时收到的错误消息是我的临时表已经存在,但是如果我运行两个单独的 IF 语句的两个单独执行,则不会发生这种情况。
这是 SQL Server 中的代码:
IF (select BusinessDayCount from Calendartbl) <= 1
BEGIN
SELECT * into #temp1
FROM PreviousMonthTbl
END
ELSE
BEGIN
SELECT * into #temp1
FROM CurrentMonthTbl
END
【问题讨论】:
-
您应该在此问题中添加 SQL Server 或 T-SQL 标记。我想你会得到更好/更多的回应。
-
PreviousMonth 和 CurrentMonth 是否具有相同的结构?
-
当前月份和上个月应该具有相同的结构。我在这里对其进行了简化以显示问题,但它们都代表同一个表的子查询,因为以前我正在为表做一个 min(date) 并重新加入它,对于当前我正在做 max(date)表并加入回它。是一个表格,保存了本月和上月的数据,这里的[date]代表每一行数据对应的月份。
标签: sql sql-server database tsql if-statement