sql 判断一个表里的字段在另一个表里有没有?  把没有的列出来
这个怎么写SQL啊?

解决方案 »

  1.   

    select *  from table1  where  field  not in  (select field from  table2) 
      

  2.   

    SELECT NAME FROM SYSCOLUMNS WHERE ID=OBJCT_ID('TB1')
    AND NAME NOT IN(SELECT NAME FROM SYSCOLUMNS WHERE ID=OBJCT_ID('TB2'))
      

  3.   

    select 
      name 
    from 
      syscolumns where id=object_id('TableName1')
    where 
      name
    not in
      (select name from syscolumns where id=object_id('TableName2'))
      

  4.   

    SELECT NAME FROM SYSCOLUMNS WHERE ID=OBJECT_ID('TB1')
    AND NAME NOT IN(SELECT NAME FROM SYSCOLUMNS WHERE ID=OBJECT_ID('TB2'))
      

  5.   


    select  [name]  from  syscolumns where id=object_id('TableName1')
    where   [name] not in 
    (select [name] from syscolumns where id=object_id('TableName2'))
      

  6.   

    select * from tab not in(select field from tab1)
      

  7.   

    SELECT NAME FROM SYSCOLUMNS WHERE ID=OBJCT_ID('TB1')
    AND NAME NOT IN(SELECT NAME FROM SYSCOLUMNS WHERE ID=OBJCT_ID('TB2'))
      

  8.   

    SELECT NAME FROM SYSCOLUMNS WHERE ID=OBJECT_ID('sys_corp')
    AND NAME NOT IN
    (SELECT NAME FROM SYSCOLUMNS WHERE ID=OBJECT_ID('sys_corp_table'))
      

  9.   

    接着上面的问
    表A 有一个字段 建档时间
    表B
    现在想要实现 表A的建档时间+30天  表B中还没有出现的A表记录高手帮忙
      

  10.   

    select 
      name 
    from 
      syscolumns where id=object_id('TableName1')
    where 
      name
    not in
      (select name from syscolumns where id=object_id('TableName2'))
      

  11.   

    接着上面的问 
    表A 有一个字段 建档时间 
    表B 
    现在想要实现 表A的建档时间+30天  表B中还没有出现的A表记录 高手帮忙
      

  12.   


    SELECT * FROM A T WHERE
     NOT EXISTS(
    SELECT 1 FROM B WHERE CONVERT(VARCHAR(10),DATEADD(DD,30,T.DATE),120)=
    CONVERT(VARCHAR(10),DATE,120))
    是这意思?
      

  13.   

    select 
      name 
    from 
      syscolumns where id=object_id('TableName1')
    where 
      name
    not in
      (select name from syscolumns where id=object_id('TableName2'))