我有两张桌子,T1和T2。
T1包含A1,B1和C1列。 A1是T1的唯一索引。
T2包含A1列和awesome_data列。 A1在此表中不是唯一的。该表为每个A1保留了许多行“awesome_data”。我需要一个查询返回T1中的所有信息和T2中A1的出现的COUNT。
所以,如果我有这个:
T1:
row(A1 = 1, B1 = 'monkey', C1 = 'horsies'),
row(A1 = 2, B1 = 'super mario', C1 = 'satan'),
row(A1 = 3, B1 = 'monkey', C1 = 'hello world')
T2:
row(A1 = 2, awesome_data = 'adsfasd22f32'),
row(A1 = 1, awesome_data = '3f23fsf3a3'),
row(A1 = 1, awesome_data = 'f3af3afaa3fa2')
我需要一个查询结果:
enter code here
array(
0 => array('A1'=>1,'B1'=>'monkey','C1'=>'horsies','T2_count'=>2),
1 => array('A1'=>2,'B1'=>'super mario','C1'=>'satan','T2_count'=>1),
2 => array('A1'=>3,'B1'=>'monkey','C1'=>'horsies','T2_count'=>0)
);
有什么建议吗?我试图尽可能清楚地说明这一点。我不熟悉沟通关系表概念的正确方法。
答案 0 :(得分:0)
SELECT
T1.*,
COUNT(T2.A1) AS `Total`
FROM T1
LEFT JOIN T2 ON T1.A1 = T2.A1
GROUP BY T1.A1