mysql 里面如何处理子查询返回多个查询结果的情况

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 里面如何处理子查询返回多个查询结果的情况相关的知识,希望对你有一定的参考价值。

DELIMITER $$

CREATE DEFINER=`root`@`localhost` PROCEDURE `Select_bad`()
BEGIN
select id,name,age,sex,punch1
from test0
where id = (
select id
from test1
where flag = 0
);
END
我用的是存储过程,子查询删选的结果会有多个,求解

select id,name,age,sex,punch1
from test0
where id in --等号改成in
(
select id 
from test1
where flag = 0
        );
参考技术A 你那个id不应该是主键编号吗?查询结果应该是唯一的呀。追问

不是,有两个表,

在 MVVM + Coordinator 中,如何处理子视图?

【中文标题】在 MVVM + Coordinator 中,如何处理子视图?【英文标题】:In MVVM + Coordinator, how to deal with sub view? 【发布时间】:2020-12-12 10:53:57 【问题描述】:

我正在开发一个 iOS MVVM + Coordinator/RxSwift 项目(非 swiftUI)。

在groundViewController中,屏幕上有多个项目,用户可以点击任何项目来调用该项目的详细视图。点击一个项目后,详细视图将滑入,当用户点击另一个项目时,详细视图将滑出,然后再次滑入更新信息。 detailView 是半屏大小,用户也可以点击 groundViewController 上的空白区域来关闭详细视图(滑出动画)。(所以只有一个 detailView)

我决定将详细视图制作为 UIView,它将拥有自己的协调器和 ViewModel,并添加到 groundViewControll.view。但是我现在对如何在它们之间或事件流之间进行通信感到困惑。

问题:在 MVVM/Coordinator 模式中,将此流程设置为是否正确:

groundViewController (receive a tap on the object) - > 
groundViewModel - >
groundCoordinator (creat and pass itemID ) - > 
detailedViewCoordinator (creat) - > 
detailedViewModel and detialedView

detialedView 的滑入/滑出动画应该由谁负责?

【问题讨论】:

GroundCoordinator 应该负责显示细节并将其关闭。你应该将协调器的路由传递给detailView,它会触发另一个detail,但会先关闭当前detail。 那么当详细视图可见时,您仍然可以看到地面视图上的项目并与之交互? @DanielT。你是对的。这也是我选择 UIView 而不是 UIViewController 的原因之一。我刚刚更新了问题以使其更清楚。 【参考方案1】:

当地面视图收到点击时,它会告诉地面视图模型。

    地面视图模型告诉地面协调员。 地面协调员通知当前细节协调员(如果有的话)解雇。 当前详细信息协调员取消了其视图。 地面协调员创建一个新的细节协调员。 地面协调员告诉新的细节协调员进行演示。 新的细节协调器创建细节视图模型和细节 看法。它将详细视图模型传递给详细视图。 细节协调员显示细节视图。

在创建和销毁项目的确切时间方面存在一些差异,但以上是大体思路。

【讨论】:

谁应该负责 /trigger detialedView 的滑入/滑出动画? 细节协调器触发它,视图控制器执行它。

以上是关于mysql 里面如何处理子查询返回多个查询结果的情况的主要内容,如果未能解决你的问题,请参考以下文章

在 MVVM + Coordinator 中,如何处理子视图?

它是如何工作的? - 查询中的多个子选择

(Mongo/Mongoose) 如何处理等待多个查询的结果

mysql 返回的查询结果为空

如何处理子表单中的特定元素并使用 [] 正确显示

mysql怎么指定查询一张表的查询结果,如最后5行记录和最前5行记录