T1、T2表该如何合并??? 提供思路:可以尝试完全联接,不过如果左表,右表不满足条件的字段值将会以null值填充,而不是以0填充,这样如果可以select 字段列表名 from 左表名 full join 右表名 on 联接条件 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ------------------------------------------------------------------ Author :DBA_HuangZJ(发粪涂墙)-- Date :2014-05-14 08:05:00-- Version:-- Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) -- Apr 2 2010 15:48:46 -- Copyright (c) Microsoft Corporation-- Enterprise Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: ) (Hypervisor)--------------------------------------------------------------------> 测试数据[T1]if object_id('[T1]') is not null drop table [T1]go create table [T1]([客户] nvarchar(4),[应付] int,[余额1] int)insert [T1]select N'张三',100,50 union allselect N'李四',200,70 union allselect N'王五',180,40--> 测试数据[T2]if object_id('[T2]') is not null drop table [T2]go create table [T2]([客户] nvarchar(4),[应收] int,[余额2] int)insert [T2]select N'张三',50,30 union allselect N'赵六',170,100 union allselect N'周九',300,200--------------生成数据--------------------------select ISNULL(a.[客户],b.[客户])[客户],ISNULL(a.[应付],0)[应付],ISNULL(a.[余额1],0)[余额1],ISNULL(b.[应收],0)[应收],ISNULL(b.[余额2],0)[余额2]from [T1] a FULL JOIN [T2] b ON A.[客户]=b.[客户]----------------结果----------------------------/* 客户 应付 余额1 应收 余额2---- ----------- ----------- ----------- -----------张三 100 50 50 30李四 200 70 0 0王五 180 40 0 0赵六 0 0 170 100周九 0 0 300 200*/ sql中如何将多行中数据的插入到一行中 事务、锁、隔离级别 一个sum问题,为什么会转换成int出错! MSSQL2000连接数据库问题 t-sql 去重的问题? 用户自定义函数奇怪问题 如何自动读取数据库新表中的数据? 在ado 中,作完sql update语句,怎样判断修改成功呢?help me 还原备份出错 如何在标准SQL中执行动态SQL语句?例如T-SQL的EXEC。 sql server 在不删除数据库的情况下 清空表里的数据 有主外键关系 数据库的创建
-- Author :DBA_HuangZJ(发粪涂墙)
-- Date :2014-05-14 08:05:00
-- Version:
-- Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64)
-- Apr 2 2010 15:48:46
-- Copyright (c) Microsoft Corporation
-- Enterprise Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: ) (Hypervisor)
--
----------------------------------------------------------------
--> 测试数据[T1]
if object_id('[T1]') is not null drop table [T1]
go
create table [T1]([客户] nvarchar(4),[应付] int,[余额1] int)
insert [T1]
select N'张三',100,50 union all
select N'李四',200,70 union all
select N'王五',180,40
--> 测试数据[T2]
if object_id('[T2]') is not null drop table [T2]
go
create table [T2]([客户] nvarchar(4),[应收] int,[余额2] int)
insert [T2]
select N'张三',50,30 union all
select N'赵六',170,100 union all
select N'周九',300,200
--------------生成数据--------------------------
select ISNULL(a.[客户],b.[客户])[客户],ISNULL(a.[应付],0)[应付]
,ISNULL(a.[余额1],0)[余额1],ISNULL(b.[应收],0)[应收],ISNULL(b.[余额2],0)[余额2]
from [T1] a FULL JOIN [T2] b ON A.[客户]=b.[客户]
----------------结果----------------------------
/*
客户 应付 余额1 应收 余额2
---- ----------- ----------- ----------- -----------
张三 100 50 50 30
李四 200 70 0 0
王五 180 40 0 0
赵六 0 0 170 100
周九 0 0 300 200
*/