select * from 
table a 
where ( (a.color='红' and ww='2012-02-02') or ((a.color='蓝' and day='2012-02-02') )

解决方案 »

  1.   


    select * from 表A where 查找内容=case COLOR when '红' then ww when '蓝' then DAY end
      

  2.   

    意思就是这样的select GOODS WHERE COLOR='红' and ww='01', select GOODS WHERE COLOR='蓝'  AND DAY='02'.把这两个语句合并在一起,写成一条语句!
      

  3.   

    select GOODS WHERE (COLOR='红' and ww='01')or(COLOR='蓝'  AND DAY='02')
      

  4.   

    ----------------------------------------------------------------
    -- Author  :DBA_Huangzj(發糞塗牆)
    -- Date    :2014-01-22 15:06:50
    -- Version:
    --      Microsoft SQL Server 2012 (SP1) - 11.0.3128.0 (X64) 
    -- Dec 28 2012 20:23:12 
    -- Copyright (c) Microsoft Corporation
    -- Enterprise Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: )
    --
    ----------------------------------------------------------------
    --> 测试数据:[huang]
    if object_id('[huang]') is not null drop table [huang]
    go 
    create table [huang]([ID] int,[GOODS] varchar(4),[ww] varchar(2),[DAY] varchar(2),[COLOR] varchar(2))
    insert [huang]
    select 1,'外套','01','01','红' union all
    select 2,'裤子','03','02','蓝' union all
    select 3,'外套','01','01','绿' union all
    select 4,'外套','02','01','红' union all
    select 5,'裤子','10','02','灰' union all
    select 6,'外套','02','01','红'
    --------------开始查询--------------------------select [GOODS] from [huang]
    WHERE (COLOR='红' and ww='01')or(COLOR='蓝'  AND DAY='02')
    ----------------结果----------------------------
    /* 
    GOODS
    -----
    外套
    裤子
    */