2015-06-28 87 views
0

这是选择我做:关系选择与条件

$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等于id_publicado的地方,其中货物等于cargo1,但我是只有得到tag1作为结果,我该如何正确地进行查询?

回答

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

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