Я знаю, что это возможно, но я недостаточно опытен, чтобы знать, как выполнять подзапросы.
Вот ситуация:
Table 1:
+--------------------+--------------------+
| v_id | v_name |
+--------------------+--------------------+
| 1 | v_name1 |
+--------------------+--------------------+
| etc...
Table 2:
+--------------------+--------------------+
| a_id | a_name |
+--------------------+--------------------+
| 1 | a_name1 |
+--------------------+--------------------+
| etc...
Table 3:
+--------------------+--------------------+
| v_id | a_id |
+--------------------+--------------------+
| 1 | 1 |
+--------------------+--------------------+
| 1 | 2 |
+--------------------+--------------------+
| 1 | 3 |
+--------------------+--------------------+
| 2 | 3 |
+--------------------+--------------------+
| 2 | 1 |
+--------------------+--------------------+
Я считаю, что это довольно распространенная ситуация.
Итак, у меня есть уникальные записи в Table 1
и Table 2
.
Я хочу SELECT
всех строк из Table 1
и получить (как последняя ячейка в каждой строке) количество строк с соответствующим значением в Table 3
.
Это не работает:
SELECT t1.* , COUNT(SELECT t3.* FROM `table_3` t3 WHERE t3.v_id = t1.v_id) as entries
FROM `table 1` t1;
Я уверен, что здесь мне скажут эксперты, что все неправильно, но, честно говоря, это то, что я ищу (и какое-то полезное решение!) ;)