0

我有三张桌子:

cp_projeto (id, nome...)

cp_habilidade_projeto (id, id_projeto)

cp_habilidade (id, nome...)

我需要所有项目 cp_habilidade都有cp_projeto一个cp_habilidade。我的实际查询:

SELECT
    p.id as id_projeto, 
    p.nome as nome_projeto, 
    p.id_tipo_projeto,  
    p.dhPostagem,   
    cp_habilidade_projeto.id as id_habilidade_projeto,  
    cp_habilidade.nome as nome_habilidade 

FROM (  
    SELECT * FROM cp_projeto 
        WHERE (id_status_projeto = 2)
            ORDER BY dhPostagem DESC LIMIT 0, 10
    ) AS p 
    inner JOIN cp_habilidade_projeto ON (cp_habilidade_projeto.id_projeto = p.id) 
    inner JOIN cp_habilidade ON (cp_habilidade.id = cp_habilidade_projeto.id_habilidade) 
    JOIN cp_sub_categoria ON (cp_sub_categoria.id = p.id_sub_categoria)

WHERE ( 
    p.nome like '%CSS%' 
    OR cp_habilidade.nome like '%CSS%'
)

这只返回,cp_habilidade.nome = %CSS%需要它。

谢谢!

4

1 回答 1

0
SELECT
    p.id as id_projeto, 
    p.nome as nome_projeto, 
    p.id_tipo_projeto,  
    p.dhPostagem,   
    hp.id as id_habilidade_projeto,  
    h.nome as nome_habilidade
FROM cp_projecto p
JOIN cp_habilidade_projeto hp ON p.id = hp.id_projeto
JOIN cp_habilidade h ON h.id = hp.id_habilidade
WHERE p.id IN ( SELECT cp_habilidade_projeto.id_projeto 
                FROM cp_habilidade 
                JOIN cp_habilidade_projeto ON cp_habilidade.id = cp_habilidade_projeto.id_habilidade
                WHERE cp_habilidade.nome LIKE '%CSS%' )
于 2013-06-18T23:59:26.647 回答