2016-04-28 79 views
-1

我有2个表。子查询 - MySQL - PHP

table2的结构:

name 
    os 
    count 

table1的结构: 佛瑞德的Android 50 汤姆的iOS 3 汤姆的iOS 3 佛瑞德的Android 1 佛瑞德的Android 1个 詹姆斯:

name 

表2的实例iOS 20

表1有一个名称列表(唯一)。 (存储在PHP变量$ SQLX)

我当前的查询是

$sqlx = "SELECT COUNT(*) AS numberOfRows FROM table2 where name = 'Fred' AND count < '6' AND os = 'iOS' GROUP BY name"; 

我如何做一个子查询,这样我就没有那么这个名字是从表1选择进入“弗来德”?

+0

你的意思是表1中的所有名字 – geeksal

回答

2

添加IN意味着您将检查此列表中的所有项目。然后使用第二个select查询,您只需从table1中提取所有名称。如果你需要的话,你可以在这里施加更多的条件。

$sqlx = "SELECT COUNT(*) AS numberOfRows FROM table2 WHERE name IN (SELECT name FROM table1) AND count < '6' AND os = 'iOS' GROUP BY name";