CREATE TABLE `carte_postale` (
`id_cp` int(4) NOT NULL default '0',
`fk_lib_cat_cp` varchar(100) NOT NULL default '',
`date_cp` date NOT NULL default '0000-00-00',
`ordre` int(4) NOT NULL default '0',
PRIMARY KEY (`id_cp`,`fk_lib_cat_cp`),
KEY `fk_lib_cat_cp` (`fk_lib_cat_cp`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Comme vous pouvez le voir je vais fair une table carte_postale lié avec une catégorie_cp.
Je voudrais faire une jointure pour afficher toutes les infos des deux tables. Cependant je n'y arrive pas.
Faudrais faire qqch du genre : WHERE categorie_cp.lib_cat_cp=carte_postale.fk_lib_cat_cp;
cs_zatt
Messages postés131Date d'inscriptionmardi 21 septembre 2004StatutMembreDernière intervention23 septembre 2011 14 janv. 2007 à 16:14
oups, dsl:
SELECT table INNER JOIN table ON condition WHERE restriction (et pas le contraire :$)
Apparamment tu veux retrouver les infos pour une carte précise ?
ça devrait donner:
SELECT * FROM categorie_cp INNER JOIN carte_postale ON categorie_cp.lib_cat_cp=carte_postale.fk_lib_cat_cp
WHERE num_cat_cp= ...
et pour les afficher toutes
WHERE categorie_cp.lib_cat_cp=carte_postale.fk_lib_cat_cp;
yoarf
Messages postés215Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention19 février 2009 14 janv. 2007 à 16:31
Je mets :
SELECT * FROM categorie_cp INNER JOIN carte_postale ON categorie_cp.lib_cat_cp=carte_postale.fk_lib_cat_cp WHERE categorie_cp.lib_cat_cp=carte_postale.fk_lib_cat_cp;
Je veux les afficher toutes mais le message suivants apparait :
#1267 - Illegal mix of collations (latin1_general_ci,IMPLICIT) and (latin1_swedish_ci,IMPLICIT) for operation '='
cs_zatt
Messages postés131Date d'inscriptionmardi 21 septembre 2004StatutMembreDernière intervention23 septembre 2011 14 janv. 2007 à 16:45
tu en as vraiment besoin de ta clause ?
parce que quand tu regardes l'erreur:
#1267 - Illegal mix of collations (latin1_general_ci,IMPLICIT) and (latin1_swedish_ci,IMPLICIT) for operation '='
ça ressemble étrangement à:
CHARSET=latin1 COLLATE=latin1_general_ci;
CHARSET=latin1