MySQL - 按不同列重复行

时间:2014-04-29 16:23:58

标签: mysql sql

我有一个具有以下结构的表:

id | user_id | job | type

方案如下:

“公司中的某个人正在提供他的技能,另一个人正在寻找技能。他们可以填写他们的产品和搜索。填写后,他们需要看到他们正在寻找的和其他人之间的匹配提供“。

  • 所以“job”是一个字符串,f.e。 “创造备份”,“修理自行车”
  • 所以“type”是一个字符串,f.e。 “搜索”,“提供”

是否可以通过一个查询获得这些匹配?

**编辑**

id | user_id | job           | type
---|---------|---------------|----------
1  | 1       | Create backup | searching
2  | 1       | Format osx    | searching
3  | 2       | Create backup | offering
4  | 1       | Program PHP   | offering

我想进行查询SELECT * FROM table WHERE user_id = 1 AND type = 'offering' ...其结果为我提供了提供此功能的所有其他用户的数组。这样用户就会有一个页面,其中包含提供他正在搜索的工作的人员的所有结果。

1 个答案:

答案 0 :(得分:2)

这将为您提供正在搜索的所有用户提供技能。试试吧:

SELECT o.* FROM Table1 s 
INNER JOIN Table1 o 
ON s.job = o.job
WHERE s.type = 'searching'
AND o.type = 'offering'
AND s.user_id = (The user who is searching)