如何写这个SQL语句(100分)

  • 主题发起人 主题发起人 fstao
  • 开始时间 开始时间
F

fstao

Unregistered / Unconfirmed
GUEST, unregistred user!
数据库sql server 2000,表ORQuotation,数据和字段如下(ORQCode是编号,
BSUCode是客户编号,BSPId是产品编号,这三个字段都是Varchar型):
ORQCode BSUCode BSPId
BJ200201010001 A客户 A产品
BJ200201020003 A客户 A产品
BJ200201020004 B客户 A产品
BJ200201020005 C客户 B产品
BJ200201030007 A客户 B产品

比如对于“A客户”所对应的“A产品”有两个编号:“BJ200201010001” 和“BJ200201020003”,如何用sql
语句写对应的编号“BJ200201010001”和“BJ200201020003”分别是“第1次报价”和“第2次报价”(
“BJ20020101”是固定的,后面4位是也是固定的位数,但数字是变的(从0001~9999)), 因为“0003”
大于“0001”,所以“BJ200201010001”是“第1次报价”,而“BJ200201020003”是“第2次报价”。
如果对于“A客户”所对应的“B产品”的编号为“BJ200201030007”,因为只有一个编号,所以是“第1次报价”。
如果对于“B客户”所对应的“A产品”的编号也是一个“BJ200201020004”,所以是“第1次报价”。
如果对于“C客户”所对应的“B产品”的编号也只有一个“BJ200201020005”,所以是“第1次报价”。

请问如何写这个SQL语句指定某个客户和某种产品时所对应的编号显示第几次报价?
比如BSUCode='A客户'和BSPID='A产品',显示:
ORQCode ORQTime
BJ200201010001 1
BJ200201020003 2

比如BSUCode='A客户'和BSPID='B产品',显示:
ORQCode ORQTime
BJ200201030007 1
 
将ORQTime设成计算字段,值是RecNo
SELECT ORQCode FROM ORQuotation WHERE (BSUCode='A客户')AND(BSPID='A产品')
ORDER BY ORQCode
如果要全部显示:
SELECT BSUCode,BSPID,ORQCode FROM ORQuotation
GROUP BY BSUCode,BSPID,ORQCode
 
后退
顶部