簡體   English   中英

如何從具有一個唯一字段和另一字段的特定值的表中提取所有行?

[英]How do I pull all rows from a table with one unique field and specific values for another field?

這是我想要實現的目標:

我有一個名為“ users_skills”的表。 該表由兩個字段“ user_id”和“ skill_id”組成。 我想從表中拉出所有顯示用戶具有特定技能的行。

例如,我要從“ users_skills”中提取具有Skill_id 110、120和130的所有用戶。如果“ users_skills”中的用戶沒有全部3個,則我不希望他們出現在結果中。

我嘗試了一個簡單的AND(例如users_skills.skill_id = 110 AND users_skills.skill_id = 120 AND users_skills.skill_id = 130),但是沒有用。

我將如何完成? 謝謝!

嘗試使用自聯接:

SELECT us1.* FROM users_skills us1
  JOIN users_skills us2 ON us1.user_id = us2.user_id
  JOIN users_skills us3 ON us1.user_id = us3.user_id
    WHERE us1.skill_id = 110 AND us2.skill_id = 120 AND us3.skill_id = 130

我假設您實際上是想要來自表usersskills的數據,在這種情況下,您可以使用

SELECT users.*, skills.* FROM users
  JOIN users_skills us1 ON users.id = user_id
  JOIN users_skills us2 ON users.id = us2.user_id
  JOIN users_skills us3 ON users.id = us3.user_id
  JOIN skills ON skills.id = us1.skill_id OR skills.id = us2.skill_id OR skills.id = us3.skill_id
    WHERE us1.skill_id = 110 AND us2.skill_id = 120 AND us3.skill_id = 130

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM