如何在 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
我的 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