我在为这些表创建查询时遇到问题:
Table_A
|-----------|----------|--------|------------|
| id_tableA | id_group | a_name | a_category |
|-----------|----------|--------|------------|
| 1 | 1 | name1 | category1 |
|-----------|----------|--------|------------|
| 2 | 1 | name2 | category2 |
|-----------|----------|--------|------------|
| 3 | 2 | name3 | category3 |
|-----------|----------|--------|------------|
| 4 | 2 | name3 | category3 |
|-----------|----------|--------|------------|
Table_B
|-----------|-----------|--------|------------|
| id_tableB | id_tableA | b_name | b_category |
|-----------|-----------|--------|------------|
| 1 | 1 | name1 | category1 |
|-----------|-----------|--------|------------|
| 2 | 2 | name2 | category2 |
|-----------|-----------|--------|------------|
| 3 | 2 | name3 | category3 |
|-----------|-----------|--------|------------|
| 4 | 1 | name4 | category4 |
|-----------|-----------|--------|------------|
| 5 | 1 | name5 | category5 |
|-----------|-----------|--------|------------|
Table_C
|-----------|-----------|--------|------------|
| id_tableC | id_tableB | c_name | c_category |
|-----------|-----------|--------|------------|
| 1 | 1 | name1 | category1 |
|-----------|-----------|--------|------------|
| 2 | 2 | name2 | category2 |
|-----------|-----------|--------|------------|
| 3 | 2 | name3 | category2 |
|-----------|-----------|--------|------------|
| 4 | 1 | name4 | category2 |
|-----------|-----------|--------|------------|
| 5 | 2 | name3 | category2 |
|-----------|-----------|--------|------------|
| 6 | 4 | name4 | category2 |
|-----------|-----------|--------|------------|
我的查询:
SELECT a.id_tableA, a.id_group, a.a_name, a.a_category, COUNT(b.id_tableB) AS count_idsB,
COUNT(c.id_tableC) AS count_idsC FROM Table_A AS a
INNER JOIN Table_B AS b ON b.id_tableA = a.id_tableA
LEFT JOIN Table_C AS c ON c.id_tableB = c.id_tableB
WHERE a.id_group = 1 GROUP BY a.id_tableA
预期结果:
|-----------|----------|--------|------------|------------|------------|
| id_tableA | id_group | a_name | a_category | count_idsB | count_idsC |
|-----------|----------|--------|------------|------------|------------|
| 1 | 1 | name1 | category1 | 3 | 3 |
|-----------|----------|--------|------------|------------|------------|
| 2 | 2 | name2 | category2 | 2 | 3 |
|-----------|----------|--------|------------|------------|------------|
不幸的是,但是我的查询显示错误的计数值。在给定的行中为列count_idsB
和count_idsC
显示相同的值。
谢谢您的帮助。