mySQL - использование данных из другого поля table.field для определения результатов в запросе

0

Похороны в синтаксисе mySQL и проблемах структуры запросов еще раз. Я делаю этот запрос в порядке: -

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

Это отлично работает, чтобы найти конкретное количество IP-адресов. Однако то, что я сейчас пытаюсь сделать, это дать общее для всех пользовательских проектов. Но эта таблица не содержит идентификатора пользователя, это делает таблица проектов. Они связаны "projID". Итак, я спрашиваю, как я могу связать эти два, чтобы получить результат.

т.е. SELECT the bumph I want FROM metrics ГДЕ (ДРУГИЕ ТАБЛИЦЫ) userID= '1' или, WHERE любые projID = те, которые перечислены в таблице проектов. рядом с идентификатором пользователя.

Теперь прямое соединение не похоже на мой ответ? Во-первых, я растерялся от объединений. Любая благодарная благодарность.

Теги:
syntax

2 ответа

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

Просто присоединяйтесь к ним? Как в:

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, которая имеет поле для пользователя и проекта (так что для пользователей в проектах много-ко многим в моем примере)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню