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