比如一张表有8个字段字段1的记录来自于表1的某个字段
字段2的记录来自于表2的某个字段
字段3的记录来自于表3的某个字段
字段4的记录来自于表4的某个字段
字段5的记录来自于表5的某个字段
字段6的记录来自于表6的某个字段
字段7的记录来自于表7的某个字段
字段8的记录来自于表8的某个字段请问这样的sql语句如何写?PS:该表是个Table类型的变量。

解决方案 »

  1.   

    几个表连接起来?declare @tab table (f1 int,f2 int,f3 int);insert into @tab 
    select a.f,b.f,c.f from table1 a inner join table2 b on a.id = b.id
    inner join table3 c on a.id = c.id
      

  2.   

    --假设取各表的总数
    select 
    表1符合条件的总数 = (select count(*) from 表1 where 表1.某个col = tb.字段1),
    表2符合条件的总数 = (select count(*) from 表2 where 表2.某个col = tb.字段2),
    ...
    表8符合条件的总数 = (select count(*) from 表8 where 表8.某个col = tb.字段8)
      

  3.   

    dawugui真是太了解我了,我正是想取各表记录的总数(根据一定条件),现在需求与点变动,等需求定下来了,我再试验一下,如果可以的话,就结贴了。
      

  4.   

    具体需求是这样的:A表
    aid 
    --------------
    1
    2B表
    bid  name  aid
    --------------
    1    name1  1 
    2    name2  1 
    3    name3  2 
    4    name4  2
    5    name5  2C表
    cid  bid
    --------------
    1     1 
    2     1
    3     2
    4     2
    5     2
    6     3
    7     4
    8     5 A表的主键aid对应B表的外键aid
    B表的主键bid对应C表的外键bid根据A表的id=1查询出这样一个结果Name   Count
    name1    2
    name2    3           PS:Name是来自B表的name字段,Count是根据B.bid=C.bid为条件,来查询C的行数,Count(C.cid)。