请问这条SQL怎么写?万分感谢!

------解决思路----------------------
SELECT 地区,产品,型号,规格,数量 FROM(
SELECT
地区,产品,型号,规格,数量,COUNT(1)OVER(PARTITION BY 地区)C
FROM 数据表
WHERE (产品='m25'AND 型号='xl'AND 规格='灰色')OR(产品='s76'AND 型号='l'AND 规格='蓝色')
)T WHERE C>=2
------解决思路----------------------
with TempTB as
(
SELECT
地区,产品,型号,规格,数量,row_number() OVER(PARTITION BY 地区) as id
FROM 数据表
)
select 地区,产品,型号,规格,数量
TempDB where id>=2
红色部分可以调整大小,比如需要商品数量大于等于2就是id>=2 ,如果大于等于3就是id>=3 ,依次类推。。。
另外还可以根据具体业务在where后添加适当条件
------解决思路----------------------
;with Cte
as
(select 产品='m25', 型号='xl', 规格='灰色'
union all
select 产品='s76', 型号='l', 规格='蓝色'
)
select * from 数据表 as a where not exists(select 1 from Cte as b where not exists(select 1 from 数据表 where [地区]=a.[地区] and 产品=b.产品 and 型号=b.型号 and 规格=b.规格))
传参时可用DataTable 类型,或用xml把参数当结果集传
------解决思路----------------------
drop table #table
create table #table
(
地区 varchar(10)
,产品 varchar(10)
,型号 varchar(10)
,规格 varchar(10)
,数量 varchar(10)
)
insert into #table values
('北京','m10','s','黑色','10')
insert into #table values
('北京','m20','s','白色','10')
insert into #table values
('天津','m21','l','蓝色','10')
insert into #table values
('沈阳','m25','x1','灰色','10')
insert into #table values
('沈阳','s76','l','蓝色','20')
select * from #table
with TempTB as
(
SELECT
地区,产品,型号,规格,数量,row_number() OVER(PARTITION BY 地区 order by 地区 ) as id
FROM #table
where (产品='m25'AND 型号='x1'AND 规格='灰色')OR(产品='s76'AND 型号='l'AND 规格='蓝色')
)
select 地区,产品,型号,规格,数量 from
TempTB where id<=2
这个 应该差不多