我正在尋找重構下面的查詢更可讀和可修改的東西。上半年是相同的第二,從查詢的數據庫外(表名是相同的,但。)你會如何編寫這個查詢?
SELECT
Column 1 AS c1,
...
Column N AS cN
FROM
database1.dbo.Table1
UNION
SELECT
'Some String' as c1,
...
NULL as cN
FROM
database1.dbo.Table2
UNION
SELECT
Column 1 AS c1,
...
Column N AS cN
FROM
database2.dbo.Table1
UNION
SELECT
'Some String' as c1,
...
NULL as cN
FROM
database2.dbo.Table2
此查詢的DRY的定義,並呼籲給我重新寫,但我不知道如何!
編輯:我們不能使用linq,我們希望得到不同的結果;我正在尋找使物理文件大小更小的查詢,而不是返回結果。
編輯:我查詢的數據庫是專有的ERP數據庫。重組它不是一種選擇。
你基本上是試圖運行對其中一個或多個字段可能無法在某些存在不同名稱的表相同的查詢這些表格,但大部分其他領域在所有表格中都是共同的,然後將它們組合在一起? – BenAlabaster 2009-01-29 19:16:37
@balabaster - 是的,那正是我正在做的。 – 2009-01-29 19:49:52