table : realtimefield & record:shopid     goodsid   goodsname   cost  priceBJ001        3         手机        1      3
BJ001        3         手机(A)    2      3
BJ001        3         手机(B)    1      3
BJ002        4         外套        1      2
BJ002        4         外套(C)    1      5
BJ003        5         键盘(D)    1      5
BJ003        5         键盘       1      5
BJ003        6         鼠标       1      7
BJ004        6         鼠标       1      5现只想选出以下内容:
shopid     goodsid   goodsname   cost  price
BJ001        3         手机        1      3
BJ002        4         外套        1      2
BJ003        5         键盘       1      5
BJ003        6         鼠标       1      7
BJ004        6         鼠标       1      5
凡是在goodsname里面有代括号的,都不要
也就是说
同样的goodsid有重复的goodsname
这样的查询语句应该如何写?ps.我的分不是太多,能写出来就都给了.

解决方案 »

  1.   

    SELECT * FROM realtime  WHERE CHARINDEX('(',goodsname) = 0
      

  2.   


    delete realtime  where charindex('(', goodsname)>0
      

  3.   

    select *
    from ta
    where charindex('(',goodsname )  = 0
      

  4.   

    ------------------------------------
    -- Author:  happyflystone  
    -- Date:2008-12-03 17:39:16
    -------------------------------------- Test Data: TA
    IF OBJECT_ID('TA') IS NOT NULL 
        DROP TABLE TA
    Go
    CREATE TABLE TA(shopid NVARCHAR(5),goodsid INT,goodsname NVARCHAR(5),cost INT,price INT)
    Go
    INSERT INTO TA
     SELECT 'BJ001',3,'手机',1,3 UNION ALL
     SELECT 'BJ001',3,'手机(A)',2,3 UNION ALL
     SELECT 'BJ001',3,'手机(B)',1,3 UNION ALL
     SELECT 'BJ002',4,'外套',1,2 UNION ALL
     SELECT 'BJ002',4,'外套(C)',1,5 UNION ALL
     SELECT 'BJ003',5,'键盘(D)',1,5 UNION ALL
     SELECT 'BJ003',5,'键盘',1,5 UNION ALL
     SELECT 'BJ003',6,'鼠标',1,7 UNION ALL
     SELECT 'BJ004',6,'鼠标',1,5 
    GO
    --Start
    select * 
    from ta 
    where charindex('(',goodsname )  = 0--Result:
    /*(9 行受影响)
    shopid goodsid     goodsname cost        price
    ------ ----------- --------- ----------- -----------
    BJ001  3           手机        1           3
    BJ002  4           外套        1           2
    BJ003  5           键盘        1           5
    BJ003  6           鼠标        1           7
    BJ004  6           鼠标        1           5(5 行受影响)*/
    --End 
      

  5.   

    可否用查询语句写出来? 不用charindex 因为有特殊情况如下:goodsid     goodsname55           鳗鱼(冰)[变价]
    55           鳗鱼(冰)(精品)
    56           鳗鱼 是有这样的情况的,因为有的东西,冰冻和不冰冻是同一个东西,但是我们的目的是去除  变价  精品 等等的字样
    最终取到cost  和price  就是进价和定价
    谢谢上面几位了.再麻烦想想
      

  6.   

    select (select distinct goodid from A),(select distinct shopid from A),(select distinct goodsname from A) from A
     
      

  7.   

    INSERT INTO TA
     SELECT 'BJ001',3,'手机',1,3 UNION ALL
     SELECT 'BJ001',3,'手机(A)',2,3 UNION ALL
    这种插入数据的方式不懂。。求解
      

  8.   

    回7楼,这样不行,因为后面的cost 和price 有所变动
    应该是一一对应的,就是没有任何变价和精品的cost 和price
    求解中