比较两个MySQL表以过滤结果

时间:2013-01-05 12:01:10

标签: php mysql comparison

我有一个具有以下结构的MySQL数据库:

表1

  • UniqueID(int)(PrimaryKey& AutoIncrement)
  • TitleID(varchar)
  • DescriptionID(varchar)
  • ContentRating(varchar)

表2

  • UID(int)(PrimaryKey& AutoIncrement)
  • 活动(varchar)
  • ContentLimit(varchar)

我想要做的是从ContentLimit(在表2中)获取值并将其与Table1中的(ContentRating)进行比较,如果它们匹配则显示匹配的所有行。我正在使用PHP和MySQL来实现这一目标。

下面是一个例子:

表1

UniqueID | TitleID | DescriptionID | ContentRating
------------------------------------------------------
1        |  Hello  | I Am Text     | Universal
2        |  Again  | Yet More Text | Universal
3        |  This   | Yet More Text | Universal
4        |  Is     | Yet More Text | Parental Guidance
5        |  Some   | Yet More Text | Universal
6        |  Dummy  | Yet More Text | Parental Guidance
7        |  Text   | Yet More Text | Parental Guidance
8        |  I      | Yet More Text | Parental Guidance
9        |  Think  | Yet More Text | Parental Guidance

表2

UID | Name        | Activity | ContentLimit
---------------------------------------------
1   | John Smith  | IsActive | Universal
2   | Jane Smith  | IsActive | Universal
3   | Felix Tiger | IsActive | Parental Guidance
4   | Spring Load | InActive | Universal

如果“Felix Tiger”登录,那么他将能够看到任何提交“父母指导”评级的内容以及任何具有“通用”评级的内容。

但如果“Jane Smith”登录,则她只能查看以“通用”评级提交的任何内容

如果我不清楚,我会道歉,并会明确任何可能被误读或难以理解的内容。

提前感谢您提供任何帮助。

1 个答案:

答案 0 :(得分:1)

试试这个:

SELECT 
    a.*, 
    b.* 
FROM table1 a 
JOIN table2 b ON a.ContentRating = b.ContentLimit