Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在MySQL中,如何将4个子查询与联合连接起来?_Mysql_Union - Fatal编程技术网

在MySQL中,如何将4个子查询与联合连接起来?

在MySQL中,如何将4个子查询与联合连接起来?,mysql,union,Mysql,Union,所以我试图在MySQL中将4个子查询与一个联合连接起来,但我无法理解 下面是4个子查询。我需要将前2个与后2个合并 当我试图联合4时,我得到一个语法错误。我需要更改子查询的代码吗 我使用了上面的语法,我得到一个错误,说我在第3行附近有语法错误。出于某种原因,此处的语法中有一些缩进,但在我的实际代码中没有 所有查询都针对同一个表;将其作为针对表的单个选择来执行。使用和和/或或逻辑运算符组合谓词 要从表中获取满足任何条件的行,请执行以下操作: SELECT a.Title , a.Albu

所以我试图在MySQL中将4个子查询与一个联合连接起来,但我无法理解

下面是4个子查询。我需要将前2个与后2个合并

当我试图联合4时,我得到一个语法错误。我需要更改子查询的代码吗


我使用了上面的语法,我得到一个错误,说我在第3行附近有语法错误。出于某种原因,此处的语法中有一些缩进,但在我的实际代码中没有

所有查询都针对同一个表;将其作为针对表的单个选择来执行。使用
和/或
逻辑运算符组合谓词

要从表中获取满足任何条件的行,请执行以下操作:

SELECT a.Title
     , a.AlbumDescription
  FROM Albums a 
 WHERE MATCH(a.AlbumDescription) AGAINST('blondes') 
    OR MATCH(a.AlbumDescription) AGAINST('bodybags')
    OR MATCH(a.AlbumDescription) AGAINST('fireplaces' WITH QUERY EXPANSION)
    OR MATCH(a.AlbumDescription) AGAINST('sighing' WITH QUERY EXPANSION)

下面是一个
UNION
set运算符的示例,用于组合四个查询的结果:

SELECT a.Title
     , a.AlbumDescription
  FROM Albums a 
 WHERE MATCH(a.AlbumDescription) AGAINST('blondes') 
 UNION
SELECT a.Title
     , a.AlbumDescription
  FROM Albums a 
 WHERE MATCH(a.AlbumDescription) AGAINST('bodybags')
 UNION
SELECT a.Title
     , a.AlbumDescription
  FROM Albums a 
 WHERE MATCH(a.AlbumDescription) AGAINST('sighing' WITH QUERY EXPANSION)
 UNION
SELECT a.Title
     , a.AlbumDescription
  FROM Albums a 
 WHERE MATCH(a.AlbumDescription) AGAINST('sighing' WITH QUERY EXPANSION)

如果您已经知道联合存在,那么这里的实际问题是什么?这只是一个逻辑链
,不是吗<代码>哪里匹配(AlbumDescription)与('blondes')或匹配(AlbumDescription)与('bodybags')…
好吧,我正在尝试将它们合并,但它不起作用。当我在4之间使用UNION时,我得到一个语法错误。因此,我不确定是否需要更改子查询的语法。如果删除
,则
联合将在它们之间起作用分隔符。您还可以将前两个与
+
假设布尔匹配
其中匹配(AlbumDescription)与('blondes bodybags')
非常感谢,我非常感谢。
SELECT a.Title
     , a.AlbumDescription
  FROM Albums a 
 WHERE MATCH(a.AlbumDescription) AGAINST('blondes') 
    OR MATCH(a.AlbumDescription) AGAINST('bodybags')
    OR MATCH(a.AlbumDescription) AGAINST('fireplaces' WITH QUERY EXPANSION)
    OR MATCH(a.AlbumDescription) AGAINST('sighing' WITH QUERY EXPANSION)
SELECT a.Title
     , a.AlbumDescription
  FROM Albums a 
 WHERE MATCH(a.AlbumDescription) AGAINST('blondes') 
 UNION
SELECT a.Title
     , a.AlbumDescription
  FROM Albums a 
 WHERE MATCH(a.AlbumDescription) AGAINST('bodybags')
 UNION
SELECT a.Title
     , a.AlbumDescription
  FROM Albums a 
 WHERE MATCH(a.AlbumDescription) AGAINST('sighing' WITH QUERY EXPANSION)
 UNION
SELECT a.Title
     , a.AlbumDescription
  FROM Albums a 
 WHERE MATCH(a.AlbumDescription) AGAINST('sighing' WITH QUERY EXPANSION)