Select * from st_no Where st_no1>0 And (st_no2<=0 Or st_no3<=0 Or st_no4<=0)

解决方案 »

  1.   

    to paoluo(一天到晚游泳的鱼)Select * from st_no Where st_no1>0 And (st_no2<=0 Or st_no3<=0 Or st_no4<=0)
    你是不是下面的意思呢?
    select pp_id(货品代号) from stock(仓库) Where st_no1>0 And (st_no2<=0 Or st_no3<=0 Or st_no4<=0)
    这样好像不行吧!
      

  2.   

    哦,我看错了。就是这样
    select pp_id from stock Where st_no1>0 And (st_no2<=0 Or st_no3<=0 Or st_no4<=0)为什么不行??
      

  3.   

    我重新贴下我的字段:
    库存表stock里有如下安段:
    st_no  仓库代号        pp_id 货品代号    pp_sl 货品数量 ....后面字段无关紧要
    000000 总仓            
    000001 一分店仓
    000002 二分店仓
    000003 三分店仓
    00000n N分店仓
    问题如下:
    如果我的某一货品在000000这个仓库里有货其它任何一个分店没货即满足条件,就求这段代码。
      

  4.   

    你表中的数据是这样的??
    st_no  仓库代号        pp_id 货品代号    pp_sl 货品数量
    000000 总仓             001 20
    000001 一分店仓         001 10
    000002 二分店仓 001 10
    000003 三分店仓 001 10
    000000 总仓             002 50
    000001 一分店仓         002 30
    000002 二分店仓 002 0
    000003 三分店仓 002 0
      

  5.   

    如果是的话。Create table TEST
    (st_no  Varchar(10),
     pp_id  Varchar(10), 
     pp_sl  Int)
    GO
    Insert TEST Values('000000','001', 20)
    Insert TEST Values('000001','001', 10)
    Insert TEST Values('000002','001', 10)
    Insert TEST Values('000003','001', 10)
    Insert TEST Values('000000','002', 50)
    Insert TEST Values('000001','002', 30)
    Insert TEST Values('000002','002', 0)
    Insert TEST Values('000003','002', 0)
    GO
    --如果是得到所有的数据
    Select * from TEST A 
    Where Exists(Select * from TEST Where pp_id=A.pp_id And st_no='000000' And pp_sl>0)
    And Exists(Select * from TEST Where pp_id=A.pp_id And st_no<>'000000' And pp_sl<=0 )--如果只是得到货品的ID
    Select Distinct pp_id from TEST A 
    Where Exists(Select * from TEST Where pp_id=A.pp_id And st_no='000000' And pp_sl>0)
    And Exists(Select * from TEST Where pp_id=A.pp_id And st_no<>'000000' And pp_sl<=0 )
    GO
    Drop table TEST
    /*
    --如果是得到所有的数据
    st_no pp_id pp_sl
    000000 002 50
    000001 002 30
    000002 002 0
    000003 002 0--如果只是得到货品的ID
    pp_id
    002
    */