Je rencontre un petit probléme de requête, elle est assez simple mais c'est plutôt le résultat que je ne comprends pas.
J'ai une table qui contient un login (varchar(15)) et un numéro programme (tinyint(4)) - celui-ci renvoie vers une autre table qui contient le nom du programme sans qu'une clé étrangère lie les 2 tables. Ces 2 valeurs sont les clés primaires de la table car un login peut avoir plusieurs programmes.
Ne me poser pas de questions spécifiques sur la conception de la base car ce n'est moi pas qui ai travaillé dessus.
Si je fais un
select * from Nomtable
toutes les données sont bien renvoyées.
Par contre et c'est là mon problème, la requête
SELECT IdProgram
FROM table
WHERE login='toto'
ne renvoie bien le nombre de lignes correspondant au nombre de fois où le login apparaît dans la table, mais le champs IdProgram est toujours à 0.
Je ne sais pas si j'ai été assez clair, merci de votre aide!!!
CREATE TABLE IF NOT EXISTS `user` (
`IdProgram` tinyint(4) NOT NULL,
`Login` varchar(15) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`Description` varchar(150) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`Mail` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`Status` enum('active','inactive') CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`FullName` varchar(40) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
PRIMARY KEY (`IdProgram`,`LogDctm`),
KEY `IdProgram` (`LogDctm`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Voici le script exporté de MySQL
CREATE TABLE IF NOT EXISTS `user` (
`IdProgram` tinyint(4) NOT NULL,
`Login` varchar(15) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`Description` varchar(150) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`Mail` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`Status` enum('active','inactive') CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`FullName` varchar(40) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
PRIMARY KEY (`IdProgram`,`LogDctm`),
KEY `IdProgram` (`LogDctm`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
j'ai testé cette table et je trouve un truc bizarre "LogDctm" n'apparait nulle part dans ta table sinon j'ai testé avec différentes valeurs et cela marche voici mon résultat :
--
-- Structure de la table `user`
--
CREATE TABLE IF NOT EXISTS `user` (
`IdProgram` tinyint(4) NOT NULL,
`Login` varchar(15) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`Description` varchar(150) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`Mail` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`Status` enum('active','inactive') CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
`FullName` varchar(40) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
PRIMARY KEY (`IdProgram`,`Login`),
KEY `IdProgram` (`Login`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
ok pas de souci
si ca marche à présent met le sujet en résolu
Aide sur requete SQL
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Tutoriel complet MySQL !
Tutoriel complet MySQL !
Tutoriel complet MySQL !