sample如下: 材料代码 厂商 单价 mno fac pri 001 A 100 001 B 98 001 C 111 002 A 98 002 C 90 002 D 89
你用 SELECT TOP 1 PartCode,MIn(PartPrice) as Price From tableName Group by PartCode 看看 不知你说的是不是这个意思?
select mno,min(pri) as price from sample group by mno
如果是多种材料,需要各种材料的最低价,那就是N_chow(一劍飄香++) 的答案了. 如果是一种材料,不同供应商有可能不同的价格,可能是要这个吧:select * from TableName where Price = ( select min(Price) as Price from TableName )
N_chow(一劍飄香++)兄的还不能满足要求,这里还有个厂商要加进去,但加进去后group by 就没有用了
我要的结果是 mno fac pri 001 B 98 002 D 89
看来你要这个: select b.* from TableName b, ( select mno,min(Pri) as Pri from TableName group by mno ) as a where a.mno=b.mno and a.Pri=b.Pri
各位朋友,请先看我的 sample 和 要求的结果
如果 sample如下: 材料代码 厂商 单价 mno fac pri 001 A 100 001 B 98 001 C 111 002 A 89 002 C 90 002 D 89 你的结果是: mno fac pri 001 B 98 002 D 89 还是 mno fac pri 001 B 98 002 A 89 002 D 89
Select mno,min(fac) as fac,min(pri) as pri from tablename group by mno order by mno
Rewiah(乘长风) 的可以实现我所说的功能,就是如果有价钱相同的就会出乱子了
你的结果是: mno fac pri 001 B 98 002 D 89 还是 mno fac pri 001 B 98 002 A 89 002 D 89 最好是取一个,随便哪一个都行,但就是要一个
to:N_chow(一劍飄香++) 你的不对,结果应该是 mno fac pri 001 A 98 002 A 89
我是说结果是这样 mno fac pri 001 B 98 002 D 89 或 mno fac pri 001 B 98 002 A 89 就不要是下面这种 mno fac pri 001 B 98 002 A 89 002 D 89 有没有解决办法
我的结果应该是 mno fac pri 001 B 98 002 A 89 002 D 89 要那个结果,就:select a.mno,min(b.Fac) as Fac,a.Pri from TableName b, ( select mno,min(Pri) as Pri from TableName group by mno ) as a where a.mno=b.mno and a.Pri=b.Pri group by a.mno,a.Pri
或者 select a.mno,max(b.Fac) as Fac,a.Pri from TableName b, ( select mno,min(Pri) as Pri from TableName group by mno ) as a where a.mno=b.mno and a.Pri=b.Pri group by a.mno,a.Pri
材料代码 厂商 单价
mno fac pri
001 A 100
001 B 98
001 C 111
002 A 98
002 C 90
002 D 89
SELECT TOP 1 PartCode,MIn(PartPrice) as Price From tableName
Group by PartCode
看看
不知你说的是不是这个意思?
group by mno
如果是一种材料,不同供应商有可能不同的价格,可能是要这个吧:select * from TableName
where Price = (
select min(Price) as Price from TableName
)
mno fac pri
001 B 98
002 D 89
select b.* from TableName b,
(
select mno,min(Pri) as Pri from TableName group by mno
) as a
where a.mno=b.mno
and a.Pri=b.Pri
sample如下:
材料代码 厂商 单价
mno fac pri
001 A 100
001 B 98
001 C 111
002 A 89
002 C 90
002 D 89 你的结果是:
mno fac pri
001 B 98
002 D 89
还是
mno fac pri
001 B 98
002 A 89
002 D 89
group by mno
order by mno
mno fac pri
001 B 98
002 D 89
还是
mno fac pri
001 B 98
002 A 89
002 D 89
最好是取一个,随便哪一个都行,但就是要一个
你的不对,结果应该是
mno fac pri
001 A 98
002 A 89
mno fac pri
001 B 98
002 D 89
或
mno fac pri
001 B 98
002 A 89
就不要是下面这种
mno fac pri
001 B 98
002 A 89
002 D 89
有没有解决办法
mno fac pri
001 B 98
002 A 89
002 D 89
要那个结果,就:select a.mno,min(b.Fac) as Fac,a.Pri from TableName b,
(
select mno,min(Pri) as Pri from TableName group by mno
) as a
where a.mno=b.mno
and a.Pri=b.Pri
group by
a.mno,a.Pri
select a.mno,max(b.Fac) as Fac,a.Pri from TableName b,
(
select mno,min(Pri) as Pri from TableName group by mno
) as a
where a.mno=b.mno
and a.Pri=b.Pri
group by
a.mno,a.Pri
谢谢各位朋友
就照 Rewiah(乘长风)说的吧