sql - 使用完全外部连接查看

标签 sql mysql

我想从以下两个表创建一个 View :

Entry:
entry_id
entry_date
entry_amount
user_id

Forecast:
forecast_id
forecast_date
forecast_amount
user_id

现在我想要一个将每个条目与其预测结合在一起的 View (相同的 user_id 和相同的日期)。这很好,但我对那些有预测但没有条目的行有问题,反之亦然。

我还想在数据库中保留所有没有预测的条目。它们应该在预测字段中显示为空值。对于没有条目的预测也是如此。

最佳答案

这个(FULL OUTER JOIN)命令是not available on MySql您将需要使用 UNION 来实现此目的,如下所示

SELECT E.*, F.*
 FROM Entry E
 LEFT JOIN Forecast F ON E.user_id = F.user_id AND E.entry_date = F.forecast_date
UNION ALL
SELECT E.*, F.*
 FROM Forecast F 
 LEFT JOIN Entry E ON E.user_id = F.user_id AND E.entry_date = F.forecast_date

关于sql - 使用完全外部连接查看,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1366384/

相关文章:

mysql - 从用户的关注者中检索最关注的用户

php - MySQL插入防止双重

mysql - 我如何确保表实体中的值在 mysql 中不重复?

mysql - 是否可以将 SQL 注入(inject)到此查询中?

c# - mvc 中的 ON DUPLICATE KEY UPDATE 问题

sql - 如何从 DB2 中的列中获取表名?

PHP 按最大日期到最小日期对添加日期进行排序

php - 从相关表中获取值

sql - 如何从命令提示符启动 SQL Server 2008 服务?

mysql - MySQL中按逻辑交替排序