Как скопировать некоторые столбцы из разных таблиц в другую таблицу с помощью оператора SQL - PullRequest
0 голосов
/ 21 мая 2011

Я очень переживаю из-за кодирования Sql.Любое решение, пожалуйста, помогите .... У меня есть таблицы, как показано ниже:

  OrderedFood(**TableID,FoodID**,Qty,OrderedDate)
  Invoices(**InvoiceID**,TableID,Amount)
  InvoiceDetail(**InvoiceID,FoodID**,Qty,orderedDate)

Я хочу скопировать OrderedFood.TableID => Invoices.TableID.затем скопируйте OrderedFood.FoodID => InvoiceDetail.FoodID, OrderedFood.Qty => InvoiceDetail.Qty, в котором это содержимое много строк.

Как я могу это сделать?

Заранее спасибо ...

Ответы [ 2 ]

1 голос
/ 22 мая 2011

Боюсь, немного сложно понять, что именно вы пытаетесь сделать.Надеемся, что следующий SQL поможет вам указать правильное направление

DECLARE @OrderedFood Table(TableID int ,FoodID int ,Qty int ,OrderedDate datetime)
DECLARE @Invoices Table(InvoiceID int IDENTITY(1,1)PRIMARY KEY CLUSTERED, TableID int ,Amount money)
DECLARE @InvoiceDetail Table(InvoiceID int,FoodID int,Qty int ,orderedDate datetime)

insert into @orderedfood values(1,1,1,'2010/05/21')
insert into @orderedfood values(1,2,3,'2010/05/21')
insert into @orderedfood values(1,3,2,'2010/05/21')
insert into @orderedfood values(2,1,4,'2010/05/21')
insert into @orderedfood values(2,2,2,'2010/05/21')

insert into @Invoices(TableId) SELECT distinct TableId From @OrderedFood

Insert into @InvoiceDetail(InvoiceID,FoodID,Qty,orderedDate)
SELECT InvoiceID,FoodId,Qty,OrderedDate 
FROM @OrderedFood o
inner join @Invoices i on o.tableid = i.tableid

select * from @invoices i inner join @invoicedetail id on i.invoiceid = id.invoiceid
1 голос
/ 21 мая 2011

Вы должны использовать запрос типа INSER INTO ....SELECT, например

INSERT INTO table1 ( column1 )
SELECT  col1
FROM    table2

другой - SELECT INTO Заявление

SELECT column_name(s)
INTO new_table_name [IN externaldatabase]
FROM old_tablename
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...