再次陷入mySQL语法和查询结构问题。我目前正在做这个查询: -
SELECT DATE_FORMAT(`when`, '%e/%c/%Y')date
, COUNT(`ip`) AddressCount
FROM `metrics`
WHERE `projID` = '$projID'
GROUP BY DATE(`when`)
这可以很好地找到特定数量的IP地址命中。但是,我现在要做的是为所有用户的项目提供一个整体。但是,这个表不包含用户的ID,而project表包含用户的ID。它们通过'projID'链接。所以,我要问的是如何将两者联系起来以获得结果。
即。 SELECT the bumph I want
FROM metrics
WHERE(另一个表)userID
='1'或者,项目表中列出的任何projID = 1。与userID一起。
现在,直接加入似乎不是我的答案?首先,我对加入感到困惑。任何帮助盛大赞赏。
答案 0 :(得分:1)
你想在这里加入。我不会100%正确,因为我不知道你的专栏名称,但这里有一个刺。
如果您发布了有关两个表及其列的更多信息,将会很有帮助。
SELECT DATE_FORMAT(m.`when`, '%e/%c/%Y')date
, COUNT(`ip`) AddressCount
, o.`userID`
FROM `metrics` m
LEFT JOIN `other_table` o
ON m.`userID` = o.`userID` -- you'll likely need to change this bit
WHERE `projID` = '$projID'
AND o.`userID` = [Value] -- optional
GROUP BY DATE(`when`)
答案 1 :(得分:1)
加入他们吧?如:
SELECT DATE_FORMAT(`when`, '%e/%c/%Y')date
, COUNT(`ip`) AddressCount
FROM `metrics`, project_user_association_table puat
WHERE `projID` = puat.projId
AND puat.userId = 123456789
GROUP BY DATE(`when`)
这使用了一个表project_user_accociation,它有一个用户和项目的字段(因此用户对项目的项目在我的例子中是多对多的)