我在 MySQL 中有一个视图,它由 2 个SELECT查询UNION一起组成(两个查询都来自同一个表,但聚合不同的数据 - 因此列在两者中都匹配)。
我有一个奇怪的问题,如果我查询这个视图并添加一个WHERE子句,应该列出的行会消失。如果我采用创建视图的代码(即 2 一起选择该联合)并将各种 WHERE 添加到每个,查询工作正常。
所以,我的问题是,在这种情况下,WHERE 子句是否仅适用于视图中返回的第一组行,在 UNION 发生之前?如果是这样,我是否可以在我的视图中更改某些内容以允许 WHERE 传播到两个选择?