SELECT *
    FROM present  WHERE id IN (1,2,3,4,5) AND userid='0000051'    我现在的问题是怎样得到没有记录的id
    也就是说1,2,3表中有记录,我这样知道4,5,没记录的到他的ID
有SQL语句能实现么

解决方案 »

  1.   

    SELECT *
        FROM present  WHERE id IN (1,2,3,4,5) AND userid='0000051'    我现在的问题是怎样得到没有记录的id
        也就是说1,2,3表中有记录,我怎样知道4,5,没记录得到他的ID
    有SQL语句能实现么
      

  2.   

    我的意思是说,我传一组ID过来,在present表中查找有没有该ID的记录,有的话不管,没的话就插入记录
      

  3.   

    EXECUTE( 'INSERT INTO present(goodsid,quantity,unitprice,userid,netname,givename)
        SELECT goodsid, 1, unitprice,'''+@userid+''','''+@netname+''','''+@netname+'''
        FROM goods  WHERE GOODSID IN ('+@list+') ')我要得到@list这组ID在present中有没有记录的ID
      

  4.   

    我刚才的意思没有表示清楚,我是想得到比如说@list=(1,2,3,4,5)我开始从present表中找,
    如果ID为(1,2,3)的记录存在的话我去掉,只留下(4,5)也就是说@list的值为(4,5)
      

  5.   

    是这个意思吗?
    select * from present where (id in (1,2,3,4,5) and userid is null)
      

  6.   

    EXECUTE( 'INSERT INTO present(goodsid,quantity,unitprice,userid,netname,givename)
        SELECT goodsid, 1, unitprice,'''+@userid+''','''+@netname+''','''+@netname+'''
        FROM goods  WHERE GOODSID IN ('+@list+') ')
    我现在不是要插入一组数据到present表中吗,但我现在想要的是@list中的GOODSID如果在present表中存在了我就不插入这条记录,现在也就是我怎么去处理@list这个变量的问题,在存储过程中怎么写,请大家帮忙了
      

  7.   

    'case when goodsid not in '+@list+' 
    then INSERT INTO present(goodsid,quantity,unitprice,userid,netname,givename)’不知可不可以