2012-07-09 48 views
2

我正在研究Django应用程序,并创建了一个新表tblA,它具有链接到tblB主键的外键。使用来自其他表主键的所有外键填充表

现在tblB已经有几个条目(因此已经有几个主键)。

我想运行的SQL查询,将创建一个新行内tblBtblA每一个主键与对应的外键插入行中tblB所有其他列的复制和默认值。

我希望我已经够清楚了!

+0

这可能会回答你的问题。 。 。 http://stackoverflow.com/questions/11397273/how-to-minimize-number-of-queries-when-adding-updating-a-row-in-a-table-with-for/11397510#11397510。 – 2012-07-09 20:36:32

回答

0

你已经忘了贴你的表结构。我正在考虑为如下─

TBLA ( aCol1_PK(主键), acol2_desc(介绍) )

截至目前只取只有两列的例子。

现在对于表B中

TBLB ( bCol1, bCol2, bCol3_FK(外键) )

现在让我们假设你有默认值 -

bCol1 - “B_Col1_default_val “ bcol2 - ”B_Col2_default_val“

对于这种情况,如果你想插入ERT行从表p_key的值A,A是不存在于表B,你可以试试下面的查询 -

insert into tblB(col1,col2,col3) 
(select 'b_col_default_val','b_col_default_val', acol1_pk 
    from tbla a 
    where a.acol1_pk not in (select b.bcol3_fk from tblb b)) 

如果你想插入一行对所有的主键出现在表格中的那么值 -

insert into tblB(col1,col2,col3) 
(select 'b_col_default_val','b_col_default_val', acol1_pk 
    from tbla a) 

我希望它能帮到你.. 如果你需要任何澄清你可以问/评论。

相关问题