关系选择条件

时间:2015-06-28 04:02:27

标签: mysql

这是我正在做的选择:

$query = "SELECT gestiondoc_publicados_tags.tag FROM gestiondoc_publicados_tags, gestionDoc_publicados_permisos WHERE gestionDoc_publicados_permisos.id_publicado = gestiondoc_publicados_tags.id_publicado AND gestionDoc_publicados_permisos.cargo = :cargo";

表格gestiondoc_publicados_tags如:

| id | tag | id_publicado |
| 1  | tag1|       1      |
| 2  | tag2|       1      |

表格gestiondoc_publicados_permisos就像:

| id | cargo   | id_publicado |
| 1  | cargo1  |       1      |
| 2  | cargo2  |       1      |

我想获得id_publicado等于货物等于cargo1的id_publicado的每个标签,但我只得到tag1作为结果,我该如何正确地进行查询?

2 个答案:

答案 0 :(得分:0)

 $query="select q.tag from gestiondoc_publicados_tags as q inner join gestiondoc_publicados_permisos as p on p.id_publicado=q.id_publicado where p.cargo='cargo1'";

你必须创建一个好的RDMS。 除了1之外,请更改它的外键值。

答案 1 :(得分:0)

您需要使用简单的内部联接,请使用以下查询:

SELECT tags.tag as tags FROM gestiondoc_publicados_tags as ptags INNER JOIN gestiondoc_publicados_tags  as gtags ON ptags.id_publicado  = gtags.id_publicado