我有客户要求,他们需要以下数据:
表格Transactions
包含以下内容:
支付日期,支付金额,帐户编号,员工编号
这些可能会或可能不会在同一张桌子中,我将弄清楚。但是,每列可能有所不同。如何为这种复杂性编写查询:(有人可以帮我一个相同类型的例子。
答案 0 :(得分:1)
我不知道如果检查null,如果为null,则检查另一列,以及另一个表中的相应列
我认为您正在寻找的关键字是"合并":
create table othertable(id int primary key identity, usethiscolumnwhennull varchar(255));
create table mytable(id int primary key identity, othertable_id int references othertable(id), description varchar(255), thiscolumnissometimesnull varchar(255));
insert into othertable(usethiscolumnwhennull) values ('othertable 1'),('othertable 2');
insert into mytable(othertable_id,description,thiscolumnissometimesnull) values (1,'no nulls here','mytable 1'),(1,'there is a null! use the value from othertable',null);
select description, coalesce(m.thiscolumnissometimesnull,o.usethiscolumnwhennull) from mytable m join othertable o on m.othertable_id=o.id