如何在 SQL 中的两个单独表格上打印奇数和偶数?

How do I print odd and even numbers on two seperate tables in SQL?

我的 SQL 代码已经到此为止了。我正在努力根据奇数和偶数将我的数据打印在两个单独的 table 中。预先感谢您的输入。非常感谢。

DECLARE
  @empNM CHAR(15),
  @empID INT,
  @reportsTO INT
DECLARE
  emp CURSOR dynamic FOR 
SELECT Employee_NM, Employee_ID, ReportsTo
    FROM employeetable
    ORDER BY Employee_ID ASC
OPEN emp
FETCH NEXT
  FROM emp
  INTO @empNM, @empID, @reportsTO;
PRINT 'name           id          boss'

WHILE (@@fetch_status <> -1)
IF (@empID % 2 = 0)
BEGIN
  SET @empNM = CONVERT(CHAR,CAST(@empNM AS VARCHAR),1)
  PRINT CAST(@empNM AS VARCHAR)+CAST(@empID AS VARCHAR)+SPACE(11)+CAST(@reportsTO AS varCHAR)


  FETCH NEXT
    FROM emp
    INTO @empNM, @empID, @reportsTO;
END;
ELSE 

BEGIN
 SET @empNM = CONVERT(CHAR,CAST(@empNM AS VARCHAR),1)
  PRINT CAST(@empNM AS VARCHAR)+CAST(@empID AS VARCHAR)+SPACE(11)+CAST(@reportsTO AS varCHAR)
  FETCH NEXT
    FROM emp
    INTO @empNM, @empID, @reportsTO;
END;
CLOSE emp;
DEALLOCATE emp;

这是期望的结果...

您没有使用 C# 循环访问数据。使用 SQL,您必须处理整个数据集,因此没有游标。 (在大多数情况下)

您必须为每个 table:

执行 1 次插入
Insert Into TOdd(Name, Id, Boss) Select Name, Id, Boss From T Where id % 2 = 1
Insert Into TEven(Name, Id, Boss) Select Name, Id, Boss From T Where id % 2 = 0

参见SQL Fiddle:http://sqlfiddle.com/#!3/212a9/1/0