0
我在SQL Server数据库中有两个表,其中一个包含已发布的字母和一个以电子方式发送的文档。从一列中唯一的两个SQL Server表中添加记录
CREATE TABLE [dbo].[DocumentTransmission]
(
[PatientNumber] [varchar](50) NULL,
[Filename] [varchar](512) NOT NULL,
[TransmittedDateTime] [datetime2](3) NULL,
[GPCode] [varchar](50) NULL,
[PracticeCode] [varchar](50) NULL,
[MessageSource] [varchar](50) NULL,
[Status] [varchar](50) NULL,
[EmailAddress] [varchar](64) NULL,
[DateTimeAdded] [datetime2](3) NULL
) ON [PRIMARY]
其他表称为DocumentPrint
我需要能够从DocumentTransmission
选择记录,只有那些从DocumentPrint
其中Filename
确实不出现在DocumentTransmission
- 我似乎无法到弄清楚如何快速做到这一点 - 我的例程会让数据库管理员哭,因为它太慢了 - 你会如何推荐这样做。
听起来像一个左连接到我 – jbutler483 2014-11-04 16:29:55
[见这里](http://2.bp.blogspot.com/-sPPmxWgcl_I/UmrMDwV5EhI/AAAAAAAAAHU/fFApXiKcHwg/s1600/sqljoins.jpg) – jbutler483 2014-11-04 16:36:03
你的意思是你想做这样的事情'SELECT * FROM DocumentTransmission UNION SELECT * FROM DocumentPrint WHERE Filename NOT IN(SELECT FileName FROM DocumentTransmission)'?如果是这样,由于您正在比较两个非常长的“VARCHAR”列,因此很难加快速度。 – ForguesR 2014-11-04 16:39:02