1

嗨,正如标题所说,我有一个 php 代码,我成功地在表中回显文章,问题出在这个表中,我只有 cat_id,而 parent_id 在其他表中被引用。

"articulos" table

id | titulo | fecha_evento | descripcion | img | cat_id

"categoriablog" table

    id | parent_id 

这就是我进行查询的方式

$query1 = "SELECT id,titulo,fecha_evento,descripcion,img FROM articulos WHERE cat_id = 1";
    $result = mysql_query($query1);

我的目标是做这样的事情,但“parent_id”在其他表中

$query1 = "SELECT id,titulo,fecha_evento,descripcion,img FROM articulos WHERE cat_id = 1 OR parent_id = 1";
        $result = mysql_query($query1);
4

2 回答 2

2

JOIN两张表:

SELECT 
  a.id, a.titulo, a.fecha_evento, a.descripcion, a.img 
FROM Article AS a 
INNER JOIN Category AS c ON a.cat_id = c.id
WHERE a.cat_id = x
   OR c.parent_id = x
于 2013-09-30T06:14:12.743 回答
1

您可以使用子查询

SELECT id,titulo,fecha_evento,descripcion,img FROM Article
 WHERE cat_id = 1 OR cat_id IN
 (SELECT id from Category where parent_id=1)

编辑

请注意,此解决方案比 Mahmoud 回答中的 JOIN 解决方案要慢一些。

于 2013-09-30T06:13:25.323 回答