0
我似乎無法破解這 - 我有兩個表(Persons
和Companies
),而我試圖創建一個觀點,即:SQL視圖的數據與來自兩個表
顯示了所有的人
也由自己返回公司一次,不管有多少人是按名稱在兩個表中與此相關的
訂單
爲了澄清,一些樣本數據:
(Table: Companies)
Id Name
1 Banana
2 ABC Inc.
3 Microsoft
4 Bigwig
(Table: Persons)
Id Name RelatedCompanyId
1 Joe Smith 3
2 Justin
3 Paul Rudd 4
4 Anjolie
5 Dustin 4
我在尋找的輸出是這樣的:
Name PersonName CompanyName RelatedCompanyId
ABC Inc. NULL ABC Inc. NULL
Anjolie Anjolie NULL NULL
Banana NULL Banana NULL
Bigwig NULL Bigwig NULL
Dustin Dustin Bigwig 4
Joe Smith Joe Smith Microsoft 3
Justin Justin NULL NULL
Microsoft NULL Microsoft NULL
Paul Rudd Paul Rudd Bigwig 4
正如你可以看到,新的「名稱」列在兩個表格中排序(公司名稱在人名之間正確顯示),每個公司只出現一次,無論有多少人與之相關。
這甚至可以在SQL ?!附:我試圖創建一個視圖,以便稍後可以使用它來輕鬆進行數據檢索,全文索引,並通過查詢視圖使編程更簡單。
我避免了普通表表達式 - - 它不可移植到所有數據庫,並且不會真正提高可讀性。如果它改進了查詢優化,我只會考慮使用它。 – 2010-06-13 03:39:41
公用表表達式是SQL-99的補充,並且僅被MS SQL Server,Oracle和DB2支持(據我所知)。 – 2010-06-13 03:52:24