从TWO表中选择全部

时间:2013-09-17 12:30:36

标签: mysql sql join

我正在尝试从表A中选择所有结果,并从表B中选择所有结果 我用过这个请求:

$request_public_imgs = $BDD-> query("SELECT * FROM images_public ");
    UNION("SELECT * FROM images_users  WHERE img_kind='PublicImg' ")
    ;

但我收到此错误

  

致命错误:调用未定义的函数UNION()

3 个答案:

答案 0 :(得分:3)

UNION是一个MySQL函数,因此您需要将其放在query()中:

$request_public_imgs = $BDD-> query("
SELECT * FROM images_public
    UNION
SELECT * FROM images_users  WHERE img_kind='PublicImg' ");

更一般地说,所有查询都将起作用:

$request_public_imgs = $BDD-> query("YOUR_MYSQL_QUERY");

请注意,错误Fatal error: Call to undefined function UNION()警告UNION不是PHP的函数。

答案 1 :(得分:3)

将SQL命令编写为单个部分:

$request_public_imgs = $BDD-> query("SELECT id, field1, .. FROM images_public 
   UNION SELECT id, field1, .. FROM images_users  WHERE img_kind='PublicImg' ") ;

您应该选择精确的字段,而不是使用*来表示性能问题。 阿德里安

答案 2 :(得分:0)

试试这个

$request_public_imgs = $BDD-> query("SELECT * FROM images_public 
    UNION SELECT * FROM images_users  WHERE img_kind='PublicImg' ")
    ;