当前位置: 首页 > 知识库问答 >
问题:

使用union得左联接[MYSQL]

弘浩博
2023-03-14

我有两个问题。两者都很好用:

SELECT * FROM newser t1 LEFT JOIN users t2 ON t1.userid = t2.usid WHERE t1.univer = '210310213053' LIMIT 1

第二个查询:

SELECT * FROM newser ORDER by RAND() LIMIT 8

联合本:

SELECT * FROM newser WHERE univer = '210310213053' LIMIT 1) UNION (SELECT * FROM newser ORDER by RAND() LIMIT 8)

工作正常,但我想添加左联接:

(SELECT * FROM newser t1 LEFT JOIN users t2 ON t1.userid = t2.usid WHERE t1.univer = '210310213053' LIMIT 1) UNION (SELECT * FROM newser ORDER by RAND() LIMIT 8)

DoSend工作...#1222-使用的SELECT语句具有不同的列数

你能帮我把这件事办好吗?

共有2个答案

松霖
2023-03-14

联合中的所有列必须匹配。

您正在选择newser和users中的所有列,并尝试将其仅与newser中的列组合。

您需要添加占位符,即union(选择*,null,null,null...

用空值表示来自用户的列;或者显式指定需要哪些列。

百里嘉泽
2023-03-14

在联合查询中,尽量不要使用select*,键入要选择的列,因为将来可能会向这些表中添加新列,这样查询就会崩溃

 类似资料:
  • 问题内容: 我需要模拟左联接效果而不使用“左联接”键。 我有两个表,A和B,都带有和列。我想在两个表中都选择所有dbid,其中A中的名称等于B中的名称。 我使用它来进行同步,因此B开头是空的(所以我将使用A的id和B的id为null的对)。稍后,我将混合使用值-value和值-null的夫妇。 通常是: 问题是我无法使用,并且想知道是否/如何做同样的事情。 问题答案: 您可以使用这种方法,但是必须

  • 问题内容: 我有两个实体:和。我正在使用Hibernate 3.6。 如何使用休眠标准实现这一目标,最重要的是,我必须将其用于分页。 而“我的道”如下所示以显示jqgrid中的“问题”列表 公共列表showHelpDeskIssues(DetachedCriteria dc,int from,int size){ 对于简短的解释,请参考此问题,如何使用struts2-jqgrid插件在jqgrid

  • 问题内容: 我不了解左外部联接,右外部联接的概念,或者根本不理解为什么我们需要使用联接!我正在努力解决的问题以及正在处理的表格在这里:链接 问题3(b) 在SQL中构造命令以解决以下查询,解释了为什么必须使用(外部)联接方法。[5分]“找到每名工作人员及其his属(如果有)的姓名” 问题3(c)- 使用(i)join方法和(ii)子查询方法在SQL中构造命令以解决以下查询。[10分]“查找在计算机

  • 问题内容: 表架构 表名: 行:,, 我的查询模拟将一个文件夹移动到另一个文件夹,并使用IN(?)接受一个数组。 如果不存在具有相同parentId和名称的文件夹,我希望更新仅“移动”文件夹。您在任何普通文件系统下期望的行为。 因此,例如: 将会是一个查询,不检查任何有关parentId和名称的信息…但是如何使左联接起作用。 这是我尝试过的..完全不起作用。 问题答案: 所以,你要只有当目标父文件

  • 假设我有这些类,请注意实体无论如何都不相关。 假定我有一个类,它的属性为,我可以在其中存储一个笔记本ID列表或任何字符串ID。假设有idsPointingToanEntity=[1,2,3],那么这个[1,2,3]在数据库中有一个等效的膝上型计算机条目。 注意:也可以是另一个实体,使不是一个选项

  • 我用@query创建了UsersRepository 我得到错误,我可以在没有@query的情况下这样做吗?我可以用@onetomany做这个吗?如何在Jpa OneTomany上实现select?我想得到没有帖子的所有用户。