2015-04-07 6 views
0

У меня есть таблица tblOriginal, которая выглядит, как это (и не имеет первичного ключа):Как вставить в aonther таблицу SQL Server

employeeId code amount date 
----------------------------- 
emp01  sbk 10000 201501 
emp02  sbk 10002 201501 
emp02  cka 2000 201501 
emp03  sbk 10003 201501 
emp04  sbk 10004 201501 
emp01  sbk 20000 201502 
emp01  dgr 5000 201502 
emp02  sbk 20002 201501 
emp02  qaw 2000 201502 
emp02  dng 4000 201502 
emp03  sbk 20003 201502 
emp04  sbk 20004 201502 

Что мне нужно сделать, получить все данные с кодом СБК в таблицу названный tblEmp (employeeId является первичным ключом), чтобы выглядеть следующим образом:

employeeId code amount date amount2 date2 
---------------------------------------------- 
emp01  sbk 10000 201501 20000 201502 
emp02  sbk 10002 201501 20002 201501 
emp03  sbk 10003 201501 20003 201502 
emp04  sbk 10004 201501 20004 201502 

а затем получить остальные данные в другую таблицу с именем tblOthers выглядеть следующим образом. Первичный ключ также employeeId

employeeId code amount date code2 amount2 date2 
-------------------------------------------------- 
emp02  cka 2000 201501 
emp01  dgr 5000 201502 
emp02  qaw 2000 201502 dng 4000 201502 

Моя проблема, я не знаю, как принимать данные, которые имеют такое же имя в employeeId в таблицы и хранить данные в столбцы

Любой помощи будет оценить.

Все столы были созданы

+0

вставки в t1 выбрать ... от ... где ... – jarlh

+0

я думал об этом, но моя проблема заключается в «tblOriginal» есть данные с тем же ** employeeId **, но разные даты, но 'tblEmp' и' tblOthers' ** employeeId ** - мой «ПЕРВИЧНЫЙ КЛЮЧ», поэтому не должно быть данных с одинаковыми * * employeeId ** – Esther

+0

Есть некоторые проблемы с вашей таблицей tblOthers. Если EmployeeId является первичным ключом, он не может содержать 2 строки с одним и тем же employeeId emp02. –

ответ

-1

Пожалуйста, обратитесь по ссылке:

http://www.w3schools.com/sql/sql_and_or.asp

SQL И & ИЛИ операторы используются для фильтрации записей на основе более чем один состояние.

И Оператор Пример -

SELECT * FROM Customers WHERE Country='Germany' AND City='Berlin'; 

ИЛИ Оператор Пример -

SELECT * FROM Customers WHERE City='Berlin' OR City='München'; 

Объединение и & ИЛИ -

SELECT * FROM Customers WHERE Country='Germany' AND (City='Berlin' OR City='München'); 
0

если есть абсолютно 2 сумма, которую вы можете использовать некоторые вещи, как это для другой таблицы

;with temp as (
select empemployeeId, 
lag(amount,1,null) over (partition by empemployeeId ORDER BY date ASC) as amount, 
lag(date,1,null) over (partition by empemployeeId ORDER BY date ASC) as date, 
lag(amount,1,null) over (partition by empemployeeId ORDER BY date DESC) as amount2, 
lag(date,1,null) over (partition by empemployeeId ORDER BY date DESC) as date2, 
from tblOriginal 
) 
select empemployeeId,'sdk',amount,date,amount2,date2 into tblEmp from temp to 
where to.code='sdk' 
Смежные вопросы