您可以通过工会
SELECT Date, Cars, Boats, Tags, Guns,
[Missing Persons], Null AS [Bench Warrants], Null AS Fingerprints FROM UnitA
UNION ALL
SELECT Date, Cars, Boats, Tags, Guns,
Null, [Bench Warrants], Null FROM UnitB
UNION ALL
SELECTG Date, Cars, Boats, Tags, Guns,
Null, Null, Fingerprints FROM UnitC
创建一个单一的查询你必须有相同数量的每个SELECT领域。第一个SELECT的字段名称将用于结果。
但是,我建议另一个数据库设计。将所有的黎民领域中的公共表并放置单元中的特定字段,你在1对1的关系
CREATE TABLE Unit (
UnitID CONSTRAINT PK_unit PRIMARY KEY,
Date datetime,
Cars long,
Boats long,
Tags long,
Guns long
)
CREATE TABLE UnitA (
UnitID CONSTRAINT PK_unitA PRIMARY KEY,
[Missing Persons] Long
)
ALTER TABLE UnitA
ADD CONSTRAINT FK_unitA_unit
FOREIGN KEY (UnitID) REFERENCES Unit (UnitID)
CREATE TABLE UnitB (
UnitID CONSTRAINT PK_unitB PRIMARY KEY,
[Bench Warrants] Long
)
ALTER TABLE UnitB
ADD CONSTRAINT FK_unitB_unit
FOREIGN KEY (UnitID) REFERENCES Unit (UnitID)
CREATE TABLE UnitC (
UnitID CONSTRAINT PK_unitC PRIMARY KEY,
Fingerprints Long
)
ALTER TABLE UnitC
ADD CONSTRAINT FK_unitC_unit
FOREIGN KEY (UnitID) REFERENCES Unit (UnitID)
现在加入左连接,你可以创建一个查询其他表。
一个更简单的设计是只创建一个表,并允许空字段
CREATE TABLE Unit (
UnitID CONSTRAINT PK_unit PRIMARY KEY,
Date datetime,
Cars long,
Boats long,
Tags long,
Guns long,
[Missing Persons] Long,
[Bench Warrants] Long,
Fingerprints Long
)
而是直接导入Excel表格,只是链接的Excel表格,然后添加自己的内容给具有自定义追加查询的公用表。
我也会推荐第一种或第三种解决方案,但这主要取决于OP对数据的控制程度。如果他从SQL Server的表中拉出,那么联盟可能是最好的选择。否则,重新设计可能会更好。 – PowerUser
我要给你的第二个选择一个尝试。由于我们目前正在使用Excel电子表格导入多个单元的多个字段的统计信息,因此我将无法创建一个montster表。 – Rory
Power,我喜欢第三种解决方案,但当我最终将它们从Excel导入到Access或Alpha Five表单提交时,我必须这样做。 – Rory