一个查询到另一个查询的结果

时间:2014-10-21 19:37:26

标签: mysql

Table 1

ID  Subject         category

1   news             category1
2   entertainment    category2
3   sport            category3
4   Home             category4


Table 2

ID    Name     Subject

1     mark      sport
2     mark      entertainment
3     David     sport
4     Fred      Home

我需要在表2中标记的行FROM表1对应。换句话说,我需要第2行和第3行作为表1的结果。在知道表1中的内容之前,我需要查看表2.我希望Mark选择表1中的行结果。我会感谢我能得到的任何帮助? (使用MySQL btw)

2 个答案:

答案 0 :(得分:1)

这只是一个简单的连接,使用主题作为关键。

 Select * from table2 inner join table1 on table2.Subject = table1.Subject where table2.Name = 'Mark'

哪个会得到你(一行示例):

table2.ID | table2.Name | table2.Subject | table1.ID | table1.Subject | table1.category
     1         Mark          sport           3                sport        category3

答案 1 :(得分:-1)

这样的事情:

SELECT *
FROM   table1 a
WHERE  EXISTS (SELECT 1
               FROM   table2 b
               WHERE  a.subject = b.subject and b.name= 'mark')