2011-02-28 2 views
0

un tableaumysql select ligne et compte chaque ligne distincte connecté

product c 
========================================== 
sample_1 Line 
sample_1 LLk 
sample_1 LLk 
sample_1 LLk 
sample_1 LLk 
sample_2 LLk 
sample_3 LLk 
sample_2 LLk 
sample_3 LLk 
sample_2 Line 

plus ce tableau deux

a h  r 
========================================== 
LLk sample_1 gw 
LLk sample_2 okp 
LLk sample_3 ijof 
Line xe  rr3 
LLk sample_4 gr2 
Line xx2  o3 

Enfin sera comme ça ..

basé sur la recherche de la table 2 où a = LLk

c'est le tableau 3 qui a été généré à partir du tableau 1 et du tableau 2

product counts 
============================ 
sample_1 4 
sample_2 1 
sample_3 2 
sample_4 0 

le lien de détail pour cette question http://pastebin.com/ds0iS4GU

+0

comment 'sample_2' compte est 1 ?? Je pense que le compte devrait b 2 .. écrira-t-il la condition exacte – diEcho

Répondre

0

recherchez-vous quelque chose comme ça?

select product, count(a) 
from table_two 
inner join table_one on product=h and c=a 
where a = 'LLk' 
group by product 
+0

Votre solution ne retournera pas 'sample_4'. –

+0

whoops n'a pas vu sample_4, il aurait juste besoin d'une jointure à gauche alors, il semble que praveen y ait déjà répondu – P4ul

1

Cela vous donnera la réponse que vous cherchez

select h, count(t1.product) from t2 LEFT JOIN t1 ON t1.c=t2.a and t1.product=t2.h where t2.a='LLk' group by t2.h

Questions connexes