从与另一个表

时间:2015-06-25 23:58:33

标签: php mysql

我创建了书籍网站,我有以下表格:

  1. 书籍(此表中有作者ID)
  2. authors_compile_rel(这里是书籍编译器的ID)
  3. 现在我想要如果有人打开作者假设(艾哈迈德拉扎)所以我想展示这位作者的书籍,如果他写书或甚至他编写书籍。

    已编辑的书籍和作者ID在authors_compile_rel表中输入。

    我在下面创建了查询,但没有显示作者编译过的书籍。

    $auth_id    = mysql_real_escape_string($_GET['id']);
    $query      = "
    SELECT b.id, b.unique_name, b.native_name, b.auth_id, b.status, b.create_date, ar.auth_id FROM books b, authors_compile_rel ar
    WHERE b.status = 1 AND b.auth_id = ".$auth_id." OR b.t_auth_id = ".$auth_id."
    OR b.id = ".$auth_id." OR ar.auth_id = ".$auth_id."
    ORDER by id DESC";
    

1 个答案:

答案 0 :(得分:0)

书籍和authors_compile_rel表之间必然存在关系,也可能是book_id。我假设这个字段是外键:

SELECT 
b.id, b.unique_name, b.native_name, b.auth_id, b.status, b.create_date, ar.auth_id 
FROM books b LEFT OUTER JOIN authors_compile_rel ar ON (b.id = ar.book_id)
WHERE 
b.status = 1 AND ( b.auth_id = ".$auth_id." OR b.t_auth_id = ".$auth_id." OR ar.auth_id = ".$auth_id." )
ORDER by b.id DESC