2013-08-05 64 views
0

我现在拥有的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%"` 

这两个查询可能会返回很多行。我想这样返回file_path和object_uid。

-Image_id | Object_uid | Object_utitle

-img1 | obj1 |标题1

-img2 | obj2 |标题2

-img2 | obj2 |标题3

有没有办法做到这一点?

+0

有多少行是由这两个查询返回的?它是否每个都是一个? – Lokesh

+0

您是否在查找包含来自每个或单独记录的数据的1条记录? –

+0

对不起,我的英语。这两个查询可能会返回许多行。但我想回到这样。 Image_id | Object_uid | Object_utitle img1 | obj1 |标题1 img2 | obj2 |标题2 img2 | obj2 |标题3 – Casper009

回答

1

试试这个:

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)) 
+0

它的工作原理!谢谢! – Casper009

0
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

+0

这两个查询可能会返回许多行。我想这样返回file_path和object_uid。 -Image_id | Object_uid | Object_utitle -img1 | obj1 |标题1 -img2 | obj2 |标题2 -img2 | obj2 |标题3 有没有办法做到这一点? – Casper009

+0

如果您想要返回多于1条的条目,则不要放置限制,但要创建一个循环来打印出所需的所有信息 –

0

您只需连接表。

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%" 
0

使用多个内部连接,你应该尝试类似的东西:

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%" 
相关问题