【问题标题】:Sql Server View show records with no data in certain tablesSql Server View 显示某些表中没有数据的记录
【发布时间】:2012-09-10 05:39:05
【问题描述】:

我有表 Products、Sales 和 ProductsInStores。 ProductsInStores 表跟踪每个商店中有多少产品。我有一个 SalesProductsInStoresView,其中包含表 Sales 和 ProductsInStores 中的列。

但也有来自不同连锁店的产品,因此这些产品没有 ProductsInStores 记录。因此,在进行销售时,如果 Product 没有 ProductsInStores 记录,SalesProductsInStoresView 不会显示 Sales。

我可以让我的视图显示没有 ProductsInStores 记录的销售,并且只在 ProductsInStores 列上显示空单元格,如果这是不可能的,我可能还有其他选择,我正在使用 Asp.Net MVC 和 Sql Server 2008 .

【问题讨论】:

  • 您可能需要LEFT JOIN,但由于您没有向我们展示 current 视图定义,我们不太可能在编写更新的视图时做出很好的猜测.
  • 请添加视图的当前代码或至少添加表结构,但我同意。答案是在 Sales 和 ProductsInStores 之间使用 LEFT JOIN。但是,如果您给我们一个从哪里开始的代码,您可以看到一个代码作为结果。
  • 谢谢大家,LEFT JOIN 为我做的,我有INNER。我该如何接受您的回答,还是应该回答我自己的问题?

标签: sql sql-server asp.net-mvc asp.net-mvc-3 sql-server-2008


【解决方案1】:

使用左外连接

Select a.field1,b.field2
from tablea A
left outer join tableb b on b.fieldc = a.fieldc

这允许从内部表返回数据,同时保持与外部表的连接,即使没有数据存在。

【讨论】:

    猜你喜欢
    • 2017-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多