简体   繁体   English

如何在查询中具有变量的where子句中使用SQL UNION

[英]how to use SQL UNION in where clause having variable in query

I'm trying to retrieve data from two tables using UNION but not works in my case. 我正在尝试使用UNION从两个表中检索数据,但在我的情况下不起作用。 I'm trying this 我正在尝试

    $folq = $db->query("select id as pid,folder,name as catname,name,thumb,pathc from hollywood where id = ".$parentid, database::GET_ROW) UNION ("select id as pid,folder,name as catname,name,thumb,pathc from bollywood where id = ".$parentid, database::GET_ROW);

But not works for me. 但不适用于我。 Please suggest me how to achive that. 请建议我如何做到这一点。

You need one string query (not two , and in the second query you don't need alias) 您需要一个字符串查询(不是两个,而在第二个查询中您不需要别名)

 $folq = $db->query("
  select 
      id as pid
      ,folder
      ,name as catname
      ,name
      ,thumb
      ,pathc 
  from hollywood 
  where id =  ".$parentid . 
  " UNION 
    select 
      id 
      ,folder
      ,name
      ,name
      ,thumb
      ,pathc 
  from bollywood 
  where id = ". $parentid

  , database::GET_ROW);

我认为您的查询中存在语法错误,应该是这样的

 $folq = $db->query("select id as pid,folder,name as catname,name,thumb,pathc from hollywood where id = ".$parentid . " UNION select id as pid,folder,name as catname,name,thumb,pathc from bollywood where id = ".$parentid, database::GET_ROW);

Please use this 请用这个

        $folq = $this->db->query("
            select id as pid,folder,name as catname,name,thumb,pathc from hollywood where id = $parentid 
        UNION  
            select id as pid,folder,name as catname,name,thumb,pathc from bollywood where id = ".$parentid);

This works :) 这有效:)

         $folq = $db->query("
        select id as pid,folder,name as         catname,name,thumb,pathc from category where id         = $parentid 
           UNION  
            select id as pid,folder,name as         catname,name,thumb,pathc from punjabi where id         = ".$parentid, database::GET_ROW);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM