我需要合并到一起查询。这是我要做的一项简单任务,但是这次我有些奇怪。我要合并的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();

10-08 09:20