这是我正在做的选择:
$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作为结果,我该如何正确地进行查询?
答案 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