Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 不产生结果的加入_Sql_Sql Server_Join - Fatal编程技术网

Sql 不产生结果的加入

Sql 不产生结果的加入,sql,sql-server,join,Sql,Sql Server,Join,我有每日数字视图和每月数字视图 每日视图: SELECT * (includes sum) FROM Person FULL OUTER JOIN Profit ON Person.id = Profit.id AND Profit.[DATE] = CAST(getdate () -1 as Date) 现在返回70行 每月视图: SELECT * (includes sum) FROM Person FULL OUTER JOIN Profit ON Person

我有每日数字视图和每月数字视图

每日视图:

 SELECT * (includes sum)
 FROM
 Person
 FULL OUTER JOIN Profit 
 ON Person.id = Profit.id
 AND Profit.[DATE] = CAST(getdate () -1  as Date)
现在返回70行

每月视图:

 SELECT * (includes sum)
 FROM
 Person
 FULL OUTER JOIN Profit
 ON Person.id = profit.id
 WHERE 
 [DATE] BETWEEN CAST(MONTH(GETDATE()) AS VARCHAR) + '/' + '01/' +  + 
 CAST(YEAR(GETDATE()) AS VARCHAR)
 AND  GETDATE()
这将返回40行

现在,在我的select语句中,我想返回daily视图中的所有行,而不管monthly视图中是否有匹配项

现在我想这样的方法会管用的:

 SELECT *
 FROM  
 DailyView
 LEFT JOIN
 MonthlyView
 ON DailyView.id = MonthlyView.id

但这只返回40行。我也尝试过完全外部联接,但仍然只返回40行。这可能是什么原因?谢谢

您的
WHERE
子句正在撤消
外部联接

您可以通过将条件移动到
ON
子句并删除
WHERE
子句来解决问题


您的查询在使用
完全外部联接时可疑<在定义良好的键上连接表时,通常不需要code>完全外部连接。

您的
WHERE
子句正在撤消
外部连接

您可以通过将条件移动到
ON
子句并删除
WHERE
子句来解决问题

您的查询在使用
完全外部联接时可疑<当在定义良好的键上连接表时,通常不需要代码>完全外部连接。

月度视图必须

SELECT * (includes sum)
 FROM
 Person
 FULL OUTER JOIN Profit
 ON Person.id = profit.id
 AND [DATE] BETWEEN CAST(MONTH(GETDATE()) AS VARCHAR) + '/' + '01/' +  + 
 CAST(YEAR(GETDATE()) AS VARCHAR)
 AND  GETDATE()
每月视图必须

SELECT * (includes sum)
 FROM
 Person
 FULL OUTER JOIN Profit
 ON Person.id = profit.id
 AND [DATE] BETWEEN CAST(MONTH(GETDATE()) AS VARCHAR) + '/' + '01/' +  + 
 CAST(YEAR(GETDATE()) AS VARCHAR)
 AND  GETDATE()

您应该显示示例数据和所需结果。
完全外部联接
可疑。您应该显示示例数据和所需结果。
完全外部联接
可疑。我尝试了正常联接,但结果相同。键没有很好地定义>>>您的WHERE子句正在撤消外部联接他的视图不需要完全联接,这是真的,但它与最终结果的关系如何?我需要一个完全外部原始联接,因为在这两个视图中都有空值need@sepupic . . . 最后一个查询甚至没有引用与前两个查询相同的表。据推测,对
dailyview
monthlyview
的引用是对原始查询的引用,它们确实有
where
子句。我尝试过普通联接,但它产生了相同的结果。键没有很好地定义>>>您的WHERE子句正在撤消外部联接他的视图不需要完全联接,这是真的,但它与最终结果的关系如何?我需要一个完全外部原始联接,因为在这两个视图中都有空值need@sepupic . . . 最后一个查询甚至没有引用与前两个查询相同的表。大概,对
dailyview
monthlyview
的引用是对原始查询的引用,它们确实包含
where
子句。