什么是这个
的替代品SELECT i.title AS title,i.category AS category FROM table_a WHERE REGEXP 'news'
UNION
SELECT i.name AS title,i.categoryname AS category FROM table_b WHERE REGEXP 'news'
不使用UNION?我们遇到的问题是我们必须从table_a中选择更多行,而UNION必须有行#matre。我们可以通过选择不同的行伪造table_b中的行,但是当我们有7或8个表混合时它们只会混淆,而且它们都没有相同的行数或匹配的名称。我们不能使用JOIN,因为我们已经注意到他们加入了。
谢谢!
答案 0 :(得分:6)
你可以用null或其他一些有意义的常量填充空白:
SELECT a, b, c, d FROM t1
UNION
SELECT a, b, null, 0 FROM t2
UNION
SELECT '', b, c, 1 FROM t3
答案 1 :(得分:0)
您可以执行以下操作:
...UNION SELECT i.name AS title,'empty' AS category FROM table_b WHERE REGEXP 'news'
您选择的内容不一定是列。如果你在一个结果中需要UNION 7或8表,那么你的底层数据模型可能会得到改进,但也许你不能改变它?