我需要合并到一起查询。这是我要做的一项简单任务,但是这次我有些奇怪。我要合并的2个查询来自同一张表和同一列。
这是我原始表的基本概念:
|id|content|
0 | a
1 | b
2 | c
3 | d
我希望我的查询一次返回所有内容。然后再次在我选择它的地方。所以
SELECT * FROM 'my_table'
和SELECT * FROM 'my_table WHERE id IN (1,2)
我希望它返回这样的内容。a
b
a
b
c
d
编辑:@dnoeth评论正确的答案。我第一次没看对它。
最佳答案
我找到了想要的答案。我只是不知道我要寻找的单词。
我需要做的是将2个查询合并在同一张表上。
您只需使用UNION ALL而不是union即可完成此操作
因此,这是mysql中的示例。
SELECT * FROM my_table UNION ALL SELECT * FROM my_table WHERE id IN (1,2)
然后,如果您像我一样使用Laravel的口才,就使用它。
$query = Class::whereIn('id', $array);
Class::where('id','>=',0)->unionAll($query)->get();