您可以通過工會
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