我有一个表(销售单)中一个人员销售的业绩信息,但现在需求变成一个销售单可能要分给几个人员;所以我就创建了一个表(人员分配金额表),记录每个人员的分配业绩
我想在查询的时候,如果销售单里有一个人员ID,就不去关联创建的人员分配金额表了, 如果销售单里人员ID为null,就left join 人员分配金额表
怎么实现这种需求?
只写sql语句,不要存储过程向大牛求助!
我想在查询的时候,如果销售单里有一个人员ID,就不去关联创建的人员分配金额表了, 如果销售单里人员ID为null,就left join 人员分配金额表
怎么实现这种需求?
只写sql语句,不要存储过程向大牛求助!
按我自己来说。sql 不能实现...
销售人员表-------------销售业绩表-------------销售单表
lz应该调整数据库表的结构,不能将就着去改sql语句,不是不能改,这样的改动没意义,治标不治本
--按你現在表的語句
select t1.銷售單號,t2.人員ID,t2.金額
from 銷售單 t1,人员分配金额表 t2
where t1.銷售單號=t2.銷售單號
and t1.人員ID is null
union all
select 銷售單號,人員ID,金額 from 銷售單
where t1.人員ID is not null;
不過建議你這樣設計,還有表及列名稱最好不要用中文:
銷售單:銷售單號,總金額--銷售單號PK
人员分配金额表:銷售單號,人員ID,金額--銷售單號,金額PK
銷售人員:人員ID,人員名稱--人員IDPK
--最後一句where t1.人員ID is not null;去掉t1.
where 人員ID is not null;