MySql choisir entre 2 colonnes de caractère

  • righteous_trespasser
  • Scuffle
  • Genius
  • Avatar de l’utilisateur
  • Inscription: Mar 12, 2007
  • Messages: 6228
  • Loc: South-Africa
  • Status: Offline

Message Août 2nd, 2011, 12:35 am

J'ai une table qui ressemble à l'exemple de cette table :
MYSQL Code: [ Select ]
CREATE TABLE `example`(
`id` INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`title` VARCHAR(32) NOT NULL,
`min_character` CHAR(1) NOT NULL,
`max_character` CHAR(1) NOT NULL
)ENGINE=MyISAM;
  1. CREATE TABLE `example`(
  2. `id` INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
  3. `title` VARCHAR(32) NOT NULL,
  4. `min_character` CHAR(1) NOT NULL,
  5. `max_character` CHAR(1) NOT NULL
  6. )ENGINE=MyISAM;


Laisse dire j'avoir les données suivantes dans la table :
MYSQL Code: [ Select ]
INSERT INTO `example` VALUES(NULL,'tester1','A','C');
INSERT INTO `example` VALUES(NULL,'tester1','D','E');
INSERT INTO `example` VALUES(NULL,'tester1','F','H');
  1. INSERT INTO `example` VALUES(NULL,'tester1','A','C');
  2. INSERT INTO `example` VALUES(NULL,'tester1','D','E');
  3. INSERT INTO `example` VALUES(NULL,'tester1','F','H');


Je veux construire une requête pour trouver le titre où "caractère" = B, donc elle doit retourner la ligne où 'min_character' = "A" et 'min_character' = "C", mais "WHERE 'min_character' > = ' B ' et 'max_character' < ="B"" ne fonctionne pas et je ne suis pas certain de la façon d'obtenir le bon résultat.
Let's leave all our *plum* where it is and go live in the jungle ...
  • Anonymous
  • Bot
  • No Avatar
  • Inscription: 25 Feb 2008
  • Messages: ?
  • Loc: Ozzuland
  • Status: Online

Message Août 2nd, 2011, 12:35 am

  • Bogey
  • Bogey
  • Genius
  • Avatar de l’utilisateur
  • Inscription: Juil 14, 2005
  • Messages: 8211
  • Loc: USA
  • Status: Offline

Message Août 2nd, 2011, 1:35 am

Utiliser REGEX ?
Code: [ Select ]
SELECT * FROM example WHERE min_character REGEXP ""

Utilisez pas comme ?
Code: [ Select ]
SELECT * FROM example WHERE min_character NOT LIKE "B"

! = ou < > (je crois)
Code: [ Select ]
SELECT * FROM example WHERE min_character != "B"
Code: [ Select ]
SELECT * FROM example WHERE min_character <> "B"

Im pas exactement sûr sur les deux derniers...
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
  • righteous_trespasser
  • Scuffle
  • Genius
  • Avatar de l’utilisateur
  • Inscription: Mar 12, 2007
  • Messages: 6228
  • Loc: South-Africa
  • Status: Offline

Message Août 2nd, 2011, 1:38 am

J'ai fini par en utilisant REGEXP, la requête ressemble maintenant comme suit :

MYSQL Code: [ Select ]
SELECT * FROM `example` WHERE ('D' REGEXP concat('^[',`min_character`,'-',`max_character`,']'));
Let's leave all our *plum* where it is and go live in the jungle ...

Afficher de l'information

  • Total des messages de ce sujet: 3 messages
  • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 193 invités
  • Vous ne pouvez pas poster de nouveaux sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas éditer vos messages
  • Vous ne pouvez pas supprimer vos messages
  • Vous ne pouvez pas joindre des fichiers
 
 

© 2011 Unmelted, LLC. Ozzu® est une marque déposée de Unmelted, LLC