Возможно, вам нужно обернуть UNION
в подпункт SELECT
и применить условие WHERE
после этого:
SELECT * FROM (
SELECT * FROM Table1 WHERE Field1 = Value1
UNION
SELECT * FROM Table2 WHERE Field1 = Value2
) AS t WHERE Field2 = Value3
По сути, UNION
ищет два полных SELECT
операторы для объединения, и предложение WHERE
является частью оператора SELECT
.
Возможно, имеет смысл применить внешнее предложение WHERE
к обоим внутренним запросам.Возможно, вы захотите сравнить производительность обоих подходов и посмотреть, какой из них лучше для вас.