MySQL Question (присоединяется)

0

Я не присоединяюсь к MySQL, поэтому, возможно, вы могли бы дать мне руку. У меня есть следующие таблицы:

Table a  
Fields ID,name

Table b  
Fields aID,cID,ID,found

Table c  
Fields ID,name

Результат, который я хочу получить, следующий: мне нужны все записи, где b.found = 1. Из этих записей я не хочу a.id или a.name, но я хочу, чтобы количество записей было были возвращены, если бы я этого хотел. Поэтому, если есть пять записей, которые имеют b.found = 1 и c.id = (например) 3, тогда я хочу получить возвращаемое значение 5, c.id и c.name.

Кто-то может это сделать?

На самом деле это то, что я хочу получить из базы данных: Список всех записей в таблице C и количество записей в таблице B, которые нашли = 1 и b.c_id = c.id

  • 1
    Итак, вы хотите c.id, c.name и количество записей, совпадающих с?
  • 0
    Да, это правильно
Показать ещё 4 комментария
Теги:
join
multiple-tables

6 ответов

2
Лучший ответ
Table: a
Fields: ID, name

Table: b
Fields: aID, cID, found

Table: c
Fields: ID, name



SELECT c.ID, c.name, COUNT(1)
FROM b
JOIN c ON c.ID = b.cID AND b.found=1
GROUP BY c.ID
1
SELECT c.id, c.name, COUNT(*)
    FROM c
        INNER JOIN b
            ON c.id = b.c_id
                AND b.found = 1
    GROUP BY c.id, c.name
  • 0
    Я думаю, что я согласен с вами. Я все еще не уверен, что понимаю требования
0

Я думаю, что это обеспечило бы необходимый результат -

select count(*), b.cID, c.name from b
inner join c on c.id=b.cID and b.found=1
group by b.cID
0

Что-то вроде:

SELECT count(`c`.*), 
           `c`.`id`, 
          `c`.`name` 
  FROM `b` 
  JOIN `c` 
    ON `c`.`id` = `b`.`c_id` 
 WHERE `b.found` = 1
  • 0
    НЕ РАБОТАЕТ: выдает ошибку MySQL, (COUNT (c. *) Не работает, я думаю)
0

SELECT COUNT (*), c.id, c.name FROM a, b, c WHERE a.id = b.a.id AND c.id = b.a.id AND b.found = 1 AND c.id = idThatIAmSearchingFor

Извините, если я не получил синтаксис точный, но я считаю, что основная структура, которую вы хотите. Функция COUNT возвращает количество строк, найденных в запросе.

-1

SELECT COUNT (*) AS Count, c.id, c.name FROM b присоединяется к a.id = b.a_id WHERE b.found = 1 GROUP BY c.Id;

COUNT возвращает количество записей в каждой группе из группы GROUP BY.

  • 0
    НЕ РАБОТАЕТ: SQL не распознает столбцы из таблицы c

Ещё вопросы

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