如何显示多个表中包含特定值的行

wztqucjr  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(249)

我有两张table MD 以及 Fuji 两张table都有一张table Date 以及 Time 列。我想有一个方法来搜索一个特定的值在任何一个 Date 和/或 Time 然后显示两个表中包含特定值的行

sqougxex

sqougxex1#

你要找的是工会。您可以选择:

SELECT Date, Time FROM MD WHERE MD.Date = ? OR MD.Time = ?
UNION ALL
SELECT Date, Time FROM Fuji WHERE Fuji.Date = ? OR Fuji.Time = ?;
``` `?` 成为你的搜索价值。列计数必须相同,但列的顺序必须相同。
如果列计数不匹配,修复方法是用null填充缺少的值,如:

SELECT Date, Time, column3 FROM MD WHERE MD.Date = ? OR MD.Time = ?
UNION ALL
SELECT Date, Time, null as column3 FROM Fuji WHERE Fuji.Date = ? OR Fuji.Time = ?;

甚至可以在这两个表中填充空值,如:

SELECT null as column0, Date, Time, column3 FROM MD WHERE MD.Date = ? OR MD.Time = ?
UNION ALL
SELECT column0, Date, Time, null as column3 FROM Fuji WHERE Fuji.Date = ? OR Fuji.Time = ?;

相关问题