Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
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 10/12/2010, 16h52   #1
Invité de passage
 
Michaël MOZAR
Inscription : octobre 2010
Messages : 9
Détails du profil
Informations personnelles :
Nom : Michaël MOZAR

Informations forums :
Inscription : octobre 2010
Messages : 9
Points : 0
Points : 0
Par défaut Requête SQL intersect

Bonjour, à tous
je voudrais remplir un diagramme de venn à l'aide de ma base de données
je veux faire une requête d'intersection
je signale que j'utilise open office base j'ai 3 tables et que j'utilise le module requête en mode SQL
voici donc ma requête qui m'est indiquée comme erreur
Code :
1
2
3
4
 
SELECT a.Name, a.logFC FROM blessvsref AS a WHERE a.Name LIKE 'LOC_%' AND a.logFC > 1
intersect
SELECT b.Name, b.logFC FROM infvsref AS b WHERE b.Name LIKE 'LOC_%' AND b.logFC >1
m'affiche un beau message d'erreur
Code :
1
2
3
4
5
6
 
syntax error
Statut SQL: HY000
Code d'erreur: 1000
 
syntax error, unexpected $end, expecting BETWEEN or IN or SQL_TOKEN_LIKE
voila quelqu'un a une idée de la provenance de l'erreur ?
merci d'avance pour votre aide et vos conseils
Momoze est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/12/2010, 16h57   #2
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 10 974
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 10 974
Points : 18 216
Points : 18 216
Envoyer un message via MSN à CinePhil
Dommage, le message d'erreur ne dit pas où se situe l'erreur !

Si c'est INTERSECT qui n'est pas supporté, ça peut peut-être se remplacer par une jointure ?
Y a t-il une correspondance possible entre les deux tables ?
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2010, 09h13   #3
Invité de passage
 
Michaël MOZAR
Inscription : octobre 2010
Messages : 9
Détails du profil
Informations personnelles :
Nom : Michaël MOZAR

Informations forums :
Inscription : octobre 2010
Messages : 9
Points : 0
Points : 0
non, pas de correspondance possible a part justement les noms communs que j'éssaie de récupérer justement

mais chaque table possède une colonne id, avec un numéro qui leur est propre, tu pense que je peux faire la jointure sur ces données ?
si oui, comment ma requête devrait être formulée stp.
Momoze est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2010, 09h27   #4
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 950
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 950
Points : 17 766
Points : 17 766
INTERSECT est une forme de jointure !

Code :
1
2
3
4
5
6
SELECT a.Name, a.logFC 
FROM   blessvsref AS a 
       INNER JOIN infvsref AS b
             ON a.Name = b.Name AND  a.logFC = b.logFC
WHERE  a.Name LIKE 'LOC_%' AND a.logFC > 1
  AND  b.Name LIKE 'LOC_%' AND b.logFC >1
A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2010, 09h27   #5
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 10 974
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 10 974
Points : 18 216
Points : 18 216
Envoyer un message via MSN à CinePhil
Tu peux nous donner la description des deux tables et un petit jeu de données ainsi que le résultat attendu pour qu'on comprenne mieux ce que tu veux faire ?
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2010, 11h21   #6
Invité de passage
 
Michaël MOZAR
Inscription : octobre 2010
Messages : 9
Détails du profil
Informations personnelles :
Nom : Michaël MOZAR

Informations forums :
Inscription : octobre 2010
Messages : 9
Points : 0
Points : 0
alors chaque table est structurée de la même façon :
Code :
1
2
3
4
5
6
 
idkey (cléprim) | Name | sequence | id | Dbname | pvalue | logfc
1                    |rrymv  |  atgcaa...|  2 | dbretro2 |0.006   | 1.85    
2                    |  LOCos | tggaccg..|28  |dbretro26| 0.048  | -1.89
3                    | rire3    |aaaaccc..|   85|dbretro68|0.025   |2.45
...
les deux tables représentent 2 conditions d'expériences, et il faut que je trouve les noms communs (Name) dans les deux condtions avec comme restrictions pour chaque condition telle que :
Name : uniquement ceux commençant par LOCos et
pvalue : uniquement celles supérieures a 1
Momoze est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2010, 11h40   #7
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 10 974
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 10 974
Points : 18 216
Points : 18 216
Envoyer un message via MSN à CinePhil
Citation:
Envoyé par Momoze Voir le message
il faut que je trouve les noms communs (Name) dans les deux condtions avec comme restrictions pour chaque condition telle que :
Name : uniquement ceux commençant par LOCos et
pvalue : uniquement celles supérieures a 1
Alors tu peux faire une jointure sur le Name :
Code :
1
2
3
4
5
6
SELECT b.Name, b.logFC
FROM blessvsref b
INNER JOIN infvsref i ON b.Name = i.Name
WHERE b.Name LIKE 'LOCos%'
  AND b.pvalue > 1
  AND i.pvalue > 1
Citation:
pvalue : uniquement celles supérieures a 1
Dans ta requête, tu mettais logfc > 1 !
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2010, 14h35   #8
Invité de passage
 
Michaël MOZAR
Inscription : octobre 2010
Messages : 9
Détails du profil
Informations personnelles :
Nom : Michaël MOZAR

Informations forums :
Inscription : octobre 2010
Messages : 9
Points : 0
Points : 0
je me suis trompé c'est bien logFC > 1.
mais je vais modifier ta requête et je te dis si cela fonctionne
Momoze est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h27.


 
 
 
 
Partenaires

Hébergement Web