SQL新手来请教

PackChen 2011-11-22 01:30:50
有存货分类表,存货表,客户分类表,客户表这四个基本表
其中
存货表.S_Class=存货分类表.S_Code
客户表.S_Class=客户分类表.S_Code
然后有对照表(字段内容如下)
客户分类(S_CusClass),存货分类(S_InvClass),折扣(M_Rate)
如何通过存货表和客户表的内容查询折扣信息
即是说
我知道存货A(S_Code='A',S_Name='电脑',S_Class='L1')和客户001(S_Code='001',S_Name='张三',S_Class='本地区')
存货分类表(S_Code,S_Name)={L1(第一级),L2(第二级)}
客户分类表(S_Code,S_Name)={'本地区','外地'}
对照表(S_CusClass,S_InvClass,M_Rate)={'L1','本地区',0.88}//0.88就是折扣了

SELECT 对照表.M_Rate(折扣) FROM 对照表,存货表,客户表...
WHERE 存货表.S_Code='A' AND 客户表.S_Code='001'

请教如何写呢?
就是二级查询SQL要如何做?
...全文
110 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
PackChen 2011-11-23
  • 打赏
  • 举报
回复
各位大大
我自己的
不知道和你们相比有什么区别

SELECT TOP 1 对照表.折扣(M_Rate)
FROM 对照表,存货表,客户表,存货分类表,客户分类表
WHERE
对照表.客户类别=客户分类表.编号 AND
对照表.存货类别=存货分类表.编号 AND
客户表.类别=客户分类表.编号 AND
存货表.类别=存货分类表.编号 AND
客户表.编号='001'(张三) AND 存货表.编号='A'(电脑)

我是直接这样的,后来发现能够成功
我的方法会不会效率低了点呢?
勿勿 2011-11-22
  • 打赏
  • 举报
回复
表关联条件查询
pengxuan 2011-11-22
  • 打赏
  • 举报
回复

select S_CusClass,
S_InvClass,
M_Rate
from 对照表 a
inner join 客户表 b on a.S_InvClass=b.S_Class and a.S_CusClass=b.S_Code
where b.S_Code='001' and S_Code='001'
黄_瓜 2011-11-22
  • 打赏
  • 举报
回复
select 对照表.M_Rate(折扣) from 对照表 a 
join 存货表 b on a.S_CusClass = b.S_Code
join 客户表 c on a.S_InvClass = c.S_Code
join 客户分类表 d on c.S_Code=d.S_Code
where a.S_Code='A' AND c.S_Code='001' and d.S_Name='L2'
--小F-- 2011-11-22
  • 打赏
  • 举报
回复
select 对照表.M_Rate(折扣) from 对照表 a 
join 存货表 b on a.S_CusClass = b.S_Code
join 客户表 c on a.S_InvClass = c.S_Code
join 客户分类表 d on c.S_Code=d.S_Code
where a.S_Code='A' AND c.S_Code='001' and d.S_Name='L2'
-晴天 2011-11-22
  • 打赏
  • 举报
回复
SELECT c.M_Rate
FROM 客户表 a inner join 客户分类表 b on b.S_Code=a.S_Class
inner join 对照表 c on c.S_CusClass=b.S_Code
inner join 存货分类表 d on c.S_InvClass=d.S_Code
inner join 存货表 e on e.S_Class=d.S_Code
where e.S_Name='电脑' and a.S_Name='张三'
koumingjie 2011-11-22
  • 打赏
  • 举报
回复

SELECT *
FROM 存货 T1
INNER JOIN 对照表 t2
ON t1.S_Class = t2.S_CusClass
INNER JOIN 客户表 t3
ON t2.S_InvClass = t3.S_Class
WHERE T1.S_Code='A' AND T3.S_Code='001'
yhui1989love 2011-11-22
  • 打赏
  • 举报
回复
select 对照表.M_Rate(折扣) from 对照表 a 
join 存货表 b on a.S_CusClass = b.S_Code
join 客户表 c in a.S_InvClass = c.S_Code
WHERE...

(需要什么条件在WHERE中自己加)

34,571

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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