多個值,我有以下SQL:檢查,如果有一列中
SELECT DISTINCT cp_pessoa.id, cp_pessoa.nome
FROM cp_pessoa
LEFT JOIN cp_habilidade_freelancer ON (cp_habilidade_freelancer.id_freelancer = cp_pessoa.id)
LEFT JOIN cp_habilidade ON (cp_habilidade.id = cp_habilidade_freelancer.id_habilidade)
WHERE cp_habilidade.id = 71 OR cp_habilidade.id = 695
LIMIT 0, 10
我只希望人們(cp_pessoa)誰擁有所有的技能(71,695)。
它可能看起來簡單,但我掙扎。
例子:
如果我使用或下面的人有以下技能(1,2,71)返回(人沒有能力695) 如果我使用並與以下技能下面的人( 71,695)不返回
謝謝!
有些言論以自己的查詢:1. SELECT DISTINCT是很經常的壞查詢標誌 - 選擇重複,然後你需要刪除它們。你爲什麼要加入外部?你只需要擁有這些技能的自由職業者,那麼爲什麼包括那些不是自由職業者的人,爲什麼包括那些沒有所需技能的自由職業者呢? where子句再次刪除所有這些記錄。當cp_habilidade_freelancer.id_habilidade已經包含你正在尋找的信息時,你甚至爲什麼加入cp_habilidade? –
@ThorstenKettner查詢是一塊其他 – user4919