我有大约5个具有公共字段“userid”的表我想在所有这些表中计算不同的用户ID。某些用户ID可能出现在这些表中的大约2个中。但我想统计5个表中不同用户ID的UNION。我可以使用ff代码计算一个表中的不同用户ID。我希望能从所有表格算起来。
//just count the nuber of distict userids in table1
$query2 = ("SELECT COUNT(DISTINCT userid) FROM table1");
$result2 = mysql_query($query2) or die(mysql_error());
$row2 = mysql_fetch_row($result2);
echo "Number of users in table 1 = ".$row2[0] ."<br />";
**Table 1**
Id userid name adresss
**Table 2**
Id Title Sex userid
**Table 3**
Id userid amount
**Table 4**
Id price promotion userid productid
**Table 5**
Id userid category tax weight
答案 0 :(得分:7)
使用UNION
标准UNION
与UNION ALL
形成对比,将从结果集中删除重复值。你的陈述看起来像是
SELECT COUNT(*)
FROM (
SELECT UserID FROM Table1
UNION SELECT UserID FROM Table2
UNION SELECT UserID FROM Table3
UNION SELECT UserID FROM Table4
UNION SELECT UserID FROM Table5
) AS UserIDs
UNION运算符默认情况下仅选择不同的值。允许 重复值,使用UNION ALL。