当前位置: 首页 > 面试题库 >

合并两个SELECT查询

孙财
2023-03-14
问题内容

我要么变老,要么我需要写的查询变得越来越复杂。以下查询将获取tasks与该用户的所有关联。

"SELECT `date` 
   FROM `tasks` 
  WHERE `user_id`= 1;"

tasks表为(iddateuser_idurl_id);

现在,我还需要url_id通过

`urls` table (`id`, `user_id`)

独立查询如下所示:

"SELECT `t1`.`data` 
   FROM `tasks` `t1` 
   JOIN `urls` `u1` ON `u1`.`id` = `t1`.`url_id` 
  WHERE `u1`.user_id` = 1;"

但是,是否可以将这两个查询合并为一个查询?我的逻辑认为应该这样,尽管我不知道如何进行实际的JOIN。


问题答案:

我可能会使用UNION。

SELECT `date`
   FROM `tasks` WHERE `user_id`=1
UNION
SELECT `t1`.`date`
   FROM `tasks` `t1`
   INNER JOIN `urls` `u1` ON `u1`.`id` = `t1`.`url_id`
   WHERE `u1`.user_id`=1;


 类似资料:
  • 问题内容: 我想将两个选择查询与结合在一起。 如何使用第二个中的第一个结果? 问题答案: 使用 CTE 可以在多个查询中重用子查询的结果。 为此,您需要PostgreSQL 8.4+: 您最有可能想要而不是。不排除重复项,这样可以更快。

  • 问题内容: 结合这两个查询的正确语法是什么? 和 我试过了: 但我收到“ UNION和ORDER BY的用法不正确”。 编辑 此外,我希望结果在一行中返回。这样我就可以访问php中的值,例如 根据西蒙的建议,我不应该使用UNION,因为我想返回一行数据 问题答案: 您不能先进入,然后再进入。 编辑 但是你可以 将ORDER BY或LIMIT应用于单个SELECT,将子句放在包围SELECT的括号内

  • 问题内容: 由于ORFirestore中没有逻辑运算符,因此我尝试在本地合并2个单独的查询。 现在,我想知道如何保持结果的正确顺序。当我独立运行2个查询时,我无法明确地查询结果(至少不是我使用该orderBy方法从Firestore获取结果的顺序)。 我的想法是将第二个查询放在第一个查询的内部。这是一个坏主意的表现明智的选择吗? 问题答案: 要在本地合并2个单独的查询,建议您使用方法。您可以使用以

  • 我正在使用hibernate映射来自mysql数据库的数据。 以下是我的查询: 并得到一个错误: Apache Tomcat/7.0.23-错误报告 键入异常报告 注意可获得根本原因的完整堆栈跟踪

  • 我想将两个ObjectNode合并在一起,但要具有最佳的复杂性。我知道一种方法,我可以使用setAll方法,但它返回JsonNode,因此我必须转换它。我发现的转换过程的最佳方法是如何将JsonNode转换为ObjectNode。我认为这种转换一旦迭代Json,也许我们可以找到一个更好的解决方案。 我认为第二种方法是迭代第二个ObjectNode,然后用put方法一个接一个地添加到第一个Objec

  • 问题内容: 查询1: 查询2: 我想将两个结果合并为两列,其中缺少一列=查询2-查询1以加快处理速度。我该怎么做?示例: 我有两个结果: // ----------------------------------------查询:1 1 2 3 4 // --------------------------------------查询:2 4 5 6 8 // ------------------