mySQL - 使用另一个table.field中的数据来确定查询中的结果

问题描述:

再次导致mySQL语法和查询结构问题。我目前正在做这个查询罚款: -mySQL - 使用另一个table.field中的数据来确定查询中的结果

SELECT DATE_FORMAT(`when`, '%e/%c/%Y')date 
    , COUNT(`ip`) AddressCount 
    FROM `metrics` 
WHERE `projID` = '$projID' 
GROUP BY DATE(`when`) 

这工作正常,找到具体数量的IP地址的命中。然而,我现在试图做的是为所有用户的项目提供一个整体。但是,该表不包含用户的ID,项目表就是这样。他们通过'projID'链接。所以,我问的是如何将两者联系起来以获得结果。

I.e. SELECT the bumph I want FROM metrics WHERE(ANOTHER TABLE's)userID ='1'或者,WHERE项目表中列出的任何projID's = 1。与用户ID一起。

现在,直接加入似乎不是我的答案?我首先感到困惑。任何帮助宏大的赞赏。

你想加入这里。因为我不知道你的专栏名称,所以我不会得到这个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`) 

只要加入他们?如:

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,其中有一个领域的用户和项目(使用户项目是许多一对多在我的例子)