Précédent   Forum des professionnels en informatique > Bases de données > Autres SGBD > SQLite
SQLite Forum d'entraide SQLite
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/11/2011, 21h39   #1
Invité de passage
 
Homme
artiste lyrique
Inscription : novembre 2011
Messages : 6
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : artiste lyrique
Secteur : Arts - Culture

Informations forums :
Inscription : novembre 2011
Messages : 6
Points : 1
Points : 1
Par défaut Sqlite3 et les jointures

Mon hébergeur vient d'avoir la fâcheuse idée de passer à sqlite3, et du coup je suis obligé de refaire toutes mes requêtes. J'ai un gros problème avec les jointures. Celles qui fonctionnaient sans pb. sous sqlite2 ne donnent plus rien.
Exemple
Code :
1
2
3
4
5
6
 
$liste = $db ->("SELECT W.titre,C.name
FROM works AS W
INNER JOIN composer AS C ON W.id_composer = C.id
WHERE C.name ='Verdi' 
ORDER BY W.titre ASC");
Histoire d'avoir tous les opéras de Verdi, par exemple.
A l'aide!
armenak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2011, 08h21   #2
Membre éprouvé
 
Inscription : janvier 2009
Messages : 301
Détails du profil
Informations personnelles :
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Secteur : Finance

Informations forums :
Inscription : janvier 2009
Messages : 301
Points : 454
Points : 454
Bonjour,

Je ne suis pas un spécialiste, mais je l'utilise pour certaines applications.

Tu as fait un essai en créant une requête paramétrée

Code :
1
2
3
4
5
$liste = $db ->("SELECT W.titre,C.name
FROM works AS W
INNER JOIN composer AS C ON W.id_composer = C.id
WHERE C.name = :pNom
ORDER BY W.titre ASC");
Je crois me souvenir que les strings doivent être écrite ainsi
''Verdi'' ' doublé ou "Verdi" " double direct.

Tu es certain que Verdi et bien écrit comme cela dans ta base et pas VERDI ou encore plus vicieux VerDi. Dans ce cas, il faut traiter la casse.

Bon, voilà des pistes de réflexion, mais peut être pas la réponse à ton problème. Sinon, en dehors des exceptions prévues par le développeur, les jointures de Sqlite sont conforment au SQL92 et fonctionnent parfaitement.

@+
seabs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2011, 12h38   #3
Invité de passage
 
Homme
artiste lyrique
Inscription : novembre 2011
Messages : 6
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : artiste lyrique
Secteur : Arts - Culture

Informations forums :
Inscription : novembre 2011
Messages : 6
Points : 1
Points : 1
Merci, tu m'as mis la puce à l'oreille. Mon livre de syntaxe SQL date certainement (comme moi). Je suis allé jeter un oeil sur l'excellente page http://sqlpro.developpez.com/cours/sqlaz/jointures/ et voici ce que devient la syntaxe
Code :
1
2
3
4
$liste = $db ->("SELECT *
FROM works W, composer C
WHERE C.name = 'Verdi'
ORDER BY W.titre ASC");
et là ça fonctionne
armenak est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h38.


 
 
 
 
Partenaires

Hébergement Web