Mysql 我需要从表中获取所有记录,其中至少有一个案例符合条件
我有三张桌子:Mysql 我需要从表中获取所有记录,其中至少有一个案例符合条件,mysql,sql,join,where,Mysql,Sql,Join,Where,我有三张桌子: cp_projeto (id, nome...) cp_habilidade_projeto (id, id_projeto) cp_habilidade (id, nome...) 我需要所有带有allcp\u habilidade的项目,其中cp\u projeto有一个cp\u habilidade。我的实际查询: SELECT p.id as id_projeto, p.nome as nome_projeto, p.id_tipo_pr
cp_projeto (id, nome...)
cp_habilidade_projeto (id, id_projeto)
cp_habilidade (id, nome...)
我需要所有带有allcp\u habilidade
的项目,其中cp\u projeto
有一个cp\u 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\u habilidade.nome=%CSS%
,我需要它all
谢谢 这仍然会为每个cp_项目返回一个cp_habilidade,对于一个cp_项目,同样会返回不同的cp_habilidade:(
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%' )