Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.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 如何从两个查询中只返回一个查询结果_Mysql_Sql_Database - Fatal编程技术网

Mysql 如何从两个查询中只返回一个查询结果

Mysql 如何从两个查询中只返回一个查询结果,mysql,sql,database,Mysql,Sql,Database,我目前的sql查询如下。我尝试了一些联合查询,但都不起作用 Select file_path from images where image_id In ( Select image_id from temp_images where object_uid IN ( Select object_uid from object_table where object_status = 2 and object_place like "%some_key

我目前的sql查询如下。我尝试了一些联合查询,但都不起作用

Select file_path
from images
where image_id In (
  Select image_id
  from temp_images
  where object_uid IN (
    Select  object_uid
    from object_table
    where object_status = 2 and object_place like "%some_keyword%"))`


Select object_uid, object_utitle
from object_table
where object_status = 2 and object_place like "%some_keyword%"`

两个查询都可能返回许多行。我想像这样返回文件路径和对象uid

-图像| id |对象| uid |对象| utitle

-img1 | obj1 |标题1

-img2 | obj2 |标题2

-img2 | obj2 |标题3

有办法吗

Select object_uid, object_utitle from object_table where object_status = 2 and object_place like "%some_keyword%" LIMIT 0,1
它将只选择一个条目,根据您希望显示的内容添加
ORDER BY DESC/ASC

尝试以下操作:

Select a.file_path, b.object_uid, b.object_utitle
from images a, (Select  object_uid, object_utitle
    from object_table
    where object_status = 2 and object_place like "%some_keyword%") b
where image_id In (
  Select image_id
  from temp_images
  where object_uid IN (b.object_uid) )

你可以加入表格

   Select i.Image_id , i.file_path , o.object_uid  
   FROM images i
   INNER JOIN temp_images t ON t.image_id = i.image_id
   INNER JOIN object_table o ON o.object_uid = t.object_uid
   WHERE object_status = 2 and object_place like "%some_keyword%"

使用多个内部联接,您应该尝试以下操作:

SELECT imgs.image_id, obj.object_uid, obj.object_utitle
    FROM images AS imgs
INNER JOIN temp_images AS tmp_imgs
    ON tmp_imgs.image_id = imgs.image_id
INNER JOIN object_table AS obj
    ON tmp_imgs.object_uid = obj.object_uid
WHERE obj.object_status = 2
    AND obj.object_place LIKE "%some_keyword%"

两个查询都返回了多少行?是否总是每个都有一条?您是在寻找一条包含每个记录中的数据的记录还是单独的记录?对不起,我的英语很差。两个查询都可能返回许多行。但我想像这样回来。图像| id | Object | uid | Object | utitle img1 | obj1 | Title 1 img2 | obj2 | Title 2 img2 | obj2 | Title 3两个查询返回的行可能很多。我想像这样返回文件路径和对象uid-图像| id | Object | uid | Object | utitle-img1 | obj1 | Title 1-img2 | obj2 | Title 2-img2 | obj2 | Title 3有什么方法可以做到这一点吗?如果要返回的条目超过1个,那么不要设置限制,而是创建一个循环来打印出所有需要的信息