Monday, 15 March 2010

MySQL Join of two SELECT result -



MySQL Join of two SELECT result -

i have 2 select:

select id, id_cat, modello tbarticoli id_cat=5

example result in json:

{"id":"5","id_cat":"5","modello":"hawaii"}, {"id":"6","id_cat":"5","modello":"t-shirt righe"}, {"id":"7","id_cat":"5","modello":"polo"}, {"id":"8","id_cat":"5","modello":"fantasia"}, {"id":"9","id_cat":"5","modello":"fiori"}, {"id":"10","id_cat":"5","modello":"arcobaleno"}, {"id":"11","id_cat":"5","modello":"oro"}, {"id":"12","id_cat":"5","modello":"argento"}, {"id":"13","id_cat":"5","modello":"stellestrisce"}

and select:

select idmodello, floor(avg(voto)) votomedio tbcommenti grouping idmodello

with result:

{"idmodello":"5","votomedio":"7"}, {"idmodello":"6","votomedio":"7"}, {"idmodello":"7","votomedio":"8"}, {"idmodello":"8","votomedio":"6"}

i need final result this:

{"id":"5","id_cat":"5","modello":"hawaii","votomedio":"7"}, {"id":"6","id_cat":"5","modello":"t-shirt righe","votomedio":"7"}, {"id":"7","id_cat":"5","modello":"polo","votomedio":"8"}, {"id":"8","id_cat":"5","modello":"fantasia","votomedio":"6"}, {"id":"9","id_cat":"5","modello":"fiori","votomedio":"null"}, {"id":"10","id_cat":"5","modello":"arcobaleno","votomedio":"null"}, {"id":"11","id_cat":"5","modello":"oro","votomedio":"null"}, {"id":"12","id_cat":"5","modello":"argento","votomedio":"null"}, {"id":"13","id_cat":"5","modello":"stellestrisce","votomedio":"null"} on tbarticoli.id = tbcommenti.idmodello

which best query?

thank you.

assuming want bring together on id = idmodello, can like

select * (select id, id_cat, modello tbarticoli id_cat=5) tba left bring together (select idmodello, floor(avg(voto)) votomedio tbcommenti grouping idmodello) tbc on tba.id = tbc.idmodello

you can specify subqueries selecting from, because mysql selects set of tuples. table name specifies want tuples table, whereas in query above specifying specific tuples want. main thing note in query must utilize 'as' keyword specify temp name each set of tuples.

mysql select join average

No comments:

Post a Comment