一个复杂的存储过程

wuhan_dotnet 2012-11-08 11:14:50
Table A [成品表]
(
ID,
StyleID
)

Table B [物料表]
(
ID,
AID,
MaterialID,
Weight,
)

Table C [物料市场价格表]
(
ID
MaterialID,
Cost
)

现有存储过程的查询条件:
@TotalWeightFrom
@TotalWeightTo
以上两个条件是来判断 先总计A下面的B中Weight的Total是否在以上的范围
@IsHaveCost 如果这个是为True 那么A下面的物料,只要有一个物料没有市场价就显示,否则就不显示

@IsSameStyle 如果为True就按以上3个条件查的结果集,再在A表中找出相同Style的成品和已经查出来的结果集合并

请问以上存储过程如何写?
...全文
177 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuhan_dotnet 2012-11-12
  • 打赏
  • 举报
回复
沉了?帮忙解决下。。小弟SQL实在是太烂了
闹铃 2012-11-08
  • 打赏
  • 举报
回复
最好能给出测试数据
快溜 2012-11-08
  • 打赏
  • 举报
回复
需要动态执行sql。
wuhan_dotnet 2012-11-08
  • 打赏
  • 举报
回复
Table StoneMaterials [石头物料表] ( StoneMaterialID, MaterialCode, StoneColorID ) 数据: ID,MaterialCode,StoneColorID 1,1,1 2,2,2 Table StoneColor [石头颜色表] ( StoneColorID, ColorCode ) StoneColorID,ColorCode 1,白色 2,黄色 3,黑色 Table StoneCert [石头证书表] ( StoneCertID, StoneMaterialID, StoneColorID CertName, IsMainCert, ) StoneCertID,StoneMaterialID,StoneColorID,CertName,IsMainCert, 1,1,1,GIA证书,True 2,1,1,IGI证书,False 3,2,2,GEMS证书,True Table FinishGood [成品表] ( FGID, StyleID, FGName ) FGID,StyleID,FGName 10001,1,1克拉钻石戒指 10002,1,30分钻石戒指 Table FGStoneMaterials [成品的物料表] ( ID, FGID, StoneMaterialID, IsMainStone, Weight ) ID,FGID,StoneMaterialID,IsMainStone,Weight 1,10001,1,True,1 2,10001,2,False,0.1 3,10002,1,False,0.1 4,10002,2,True,0.8 一个FG(FinishGood)包含多个StoneMaterial(在FGStoneMaterials 表有关联),一个StoneMaterial包含多个证书,其中有一个证书时主证书(IsMainCert),一个FG有可能有多个MainStone,每个证书也有一个StoneColor属性,每个StoneMaterial也有一个StoneColor属性 现在需要查询: WeightFrom,WeightTo FG的石头物料重量在这个范围内的 TotalWeightFrom,TotalWeightTo FG的石头物料的的Weight总计是否在这个范围内 MainCertColorID FG的石头物料的证书,并且是主证书的Color是否等于这个Color MainStoneColorID FG的石头物料的MainStone的Color是否等于这个Color 需要返回的结果集字段: FGName,FGID,MainStoneColorCode,MainCertColorCode, 场景1:按以上数据 输入查询条件如下: WeightFrom 0.5 WeightTo 1 TotalWeightFrom 1 TotalWeightTo 1.1 MainCertColorID 1 MainStoneColorID 1 结果如下: 1克拉钻石戒指,10001,白色,白色 场景2:按以上数据 输入查询条件如下: WeightFrom NULL WeightTo NULL TotalWeightFrom NULL TotalWeightTo NULL MainCertColorID NULL MainStoneColorID 1 结果如下: 1克拉钻石戒指,10001,白色,白色 场景3:按以上数据 输入查询条件如下: WeightFrom NULL WeightTo NULL TotalWeightFrom NULL TotalWeightTo NULL MainCertColorID 2 MainStoneColorID 1 结果如下: 30分钻石戒指,10002,黄色,白色 重新整理了下数据 麻烦大家帮忙写个存储过程。可以使用临时表,不要试用动态SQL

679

社区成员

发帖
与我相关
我的任务
社区描述
智能路由器通常具有独立的操作系统,包括OpenWRT、eCos、VxWorks等,可以由用户自行安装各种应用,实现网络和设备的智能化管理。
linuxpython 技术论坛(原bbs)
社区管理员
  • 智能路由器社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧