Vorrei poter conteggiare con COUNT gli id che relazionano le due tabelle
codice:
Struttura delle tabelle:
-- --------------------------------------------------------
-- Struttura della tabella `tutorials`
-- --------------------------------------------------------
CREATE TABLE `tutorials` (
`id_tutorial` int(11) unsigned NOT NULL auto_increment,
`id_tutorial_category` int(11) unsigned NOT NULL default '0',
`title` varchar(150) character set utf8 NOT NULL default '',
`visible` tinyint(1) unsigned NOT NULL default '0',
`date_ins` datetime NOT NULL default '0000-00-00 00:00:00',
`date_mod` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
PRIMARY KEY (`id_tutorial`),
KEY `id_tutorial_category` (`id_tutorial_category`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
-- Struttura della tabella `tutorial_relation`
-- --------------------------------------------------------
CREATE TABLE `tutorial_relation` (
`id_tutorial_relation` int(10) unsigned NOT NULL auto_increment,
`id_tutorial` int(10) unsigned NOT NULL default '0',
`visual_order` tinyint(1) unsigned NOT NULL default '0',
`subtitle` varchar(150) collate latin1_general_ci NOT NULL default '',
`text` text collate latin1_general_ci NOT NULL,
`note` varchar(250) collate latin1_general_ci default NULL,
`image` varchar(32) character set latin1 collate latin1_general_cs default NULL,
`code` varchar(32) character set latin1 collate latin1_general_cs default NULL,
PRIMARY KEY (`id_tutorial_relation`),
KEY `id_tutorial` (`id_tutorial`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;
le mia query di test:
/*1*/
SELECT COUNT(tutorials.id_tutorial) FROM tutorials LEFT JOIN tutorial_relation USING(id_tutorial);
/* errata: mi restituisce 4 ma in realtà sono 2*/
/*2*/
SELECT DISTINCT tutorials.id_tutorial, COUNT(tutorials.id_tutorial) FROM tutorials LEFT JOIN tutorial_relation USING(id_tutorial) GROUP BY tutorials.id_tutorial;
/*
errata: mi restituisce 2 come dovrebbe essere ma io vorrei visualizzare solo il count
ma purtroppo non posso omettere tutorials.id_tutorial nel SELECT a causa del DISTINCT
*/
cichity74