help, help, 表内一个字段等于另外一个表字段两个值查询。没有说清, 从新来。

frankhuai 2007-10-09 12:50:09
现在有两个表:
表1
销售代表de 订单号 金额bit
王五 5 50
李四 5 30
M01 5 1000

表2
系数 销售PrcCode 金额Amount 总计
m01 王五 600 1000
m01 李四 400 1000
m02 麻子 20 80
m02 王五 60 80


现在求: 订单号为 5 , 销售代表为 王五的金额, 按如下排列。
其中:1,表1.销售代表de 有一项的值= 表2.系数 某两项的值,
2,表2.金额amount 的值(600+400) 是由 表1.金额bit(1000) 分解出来的
订单号 销售代表 金额
5 王五 50
5 王五 600
...全文
201 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dawugui 2007-10-09
  • 打赏
  • 举报
回复
select * from 表1 where 销售代表 = '王五' and 订单号 = 5
union all
select 表2.销售 销售代表 , 订单号 = 5 , 表2.金额 from 表2 , 表1 where 表1.订单号 = 5 and 表1.销售代表 = 表2.系数 and 表2.销售 = '王五'
frankhuai 2007-10-09
  • 打赏
  • 举报
回复
你还不休息, 打扰你老人家了。
dawugui 2007-10-09
  • 打赏
  • 举报
回复
又来了?看看先.
dawugui 2007-10-09
  • 打赏
  • 举报
回复
--将这两个东西设置为变量,这样好一些. 上面错了一点,这个纠正了,等你十分钟,没问题,我睡觉了.
create table t1(销售代表 varchar(10),订单号 int,金额 int)
insert into t1 values('王五',5,50)
insert into t1 values('李四',5,30)
insert into t1 values('M01',5,1000)
create table t2(系数 varchar(10),销售代表 varchar(10),金额 int , 总计 int)
insert into t2 values('m01','王五',600,1000)
insert into t2 values('m01','李四',400,1000)
insert into t2 values('m02','麻子',20,80)
insert into t2 values('m02','王五',60,80)
go
declare @xsdb as varchar(10)
declare @ddh as int
set @xsdb = '王五'
set @ddh = 5
select * from t1 where 销售代表 = @xsdb and 订单号 = @ddh
union all
select t2.销售代表 , 订单号 = @ddh , t2.金额 from t2 , t1 where t1.订单号 = @ddh and t1.销售代表 = t2.系数 and t2.销售代表 = @xsdb
drop table t1,t2

/*
销售代表 订单号 金额
------- ------ -----------
王五 5 50
王五 5 600

(所影响的行数为 2 行)
*/
dawugui 2007-10-09
  • 打赏
  • 举报
回复
--将这两个东西设置为变量,这样好一些.

create table t1(销售代表 varchar(10),订单号 int,金额 int)
insert into t1 values('王五',5,50)
insert into t1 values('李四',5,30)
insert into t1 values('M01',5,1000)
create table t2(系数 varchar(10),销售代表 varchar(10),金额 int , 总计 int)
insert into t2 values('m01','王五',600,1000)
insert into t2 values('m01','李四',400,1000)
insert into t2 values('m02','麻子',20,80)
insert into t2 values('m02','王五',60,80)
go
declare @xsdb as varchar(10)
declare @ddh as int
set @xsdb = '王五'
set @ddh = 5

select * from t1 where 销售代表 = @xsdb and 订单号 = @ddh
union all
select t2.销售代表 , 订单号 = 5 , t2.金额 from t2 , t1 where t1.订单号 = @ddh and t1.销售代表 = t2.系数 and t2.销售代表 = @xsdb
drop table t1,t2

/*
销售代表 订单号 金额
------- ------ -----------
王五 5 50
王五 5 600

(所影响的行数为 2 行)
*/
dawugui 2007-10-09
  • 打赏
  • 举报
回复
create table t1(销售代表 varchar(10),订单号 int,金额 int)
insert into t1 values( '王五',5,50 )
insert into t1 values( '李四',5,30 )
insert into t1 values( 'M01' ,5,1000 )
create table t2(系数 varchar(10),销售代表 varchar(10),金额 int , 总计 int)
insert into t2 values( 'm01','王五',600,1000)
insert into t2 values( 'm01','李四',400,1000)
insert into t2 values( 'm02','麻子',20,80)
insert into t2 values( 'm02','王五',60,80)
go
select * from t1 where 销售代表 = '王五 ' and 订单号 = 5
union all
select t2.销售代表 , 订单号 = 5 , t2.金额 from t2 , t1 where t1.订单号 = 5 and t1.销售代表 = t2.系数 and t2.销售代表 = '王五'
drop table t1,t2

/*
销售代表 订单号 金额
---------- ----------- -----------
王五 5 50
王五 5 600

(所影响的行数为 2 行)
*/

34,587

社区成员

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

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