Select multiples

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Select multiples

par zeus » 01 déc. 2005, 15:39

A vérifier mais il me semble que l'utilisation de JOIN est a préferer à ta syntaxe.

Re: Select multiples

par Invité » 01 déc. 2005, 14:08

Code : Tout sélectionner

SELECT LI.Plart FROM produits PO, listing LI WHERE PO.PDos ='NAD001R' AND PO.Ptype='Commande' AND LI.Plpiece = PO.Pnum
Tu as oublié la jointure. Si elle as plusieurs lignes par table, elle va faire un produit cartésien

essaye plutôt

Code : Tout sélectionner

SELECT LI.Plart FROM produits PO JOIN listing LI ON PO.Pnum=LI.Plpiece WHERE PO.PDos ='NAD001R' AND PO.Ptype='Commande' AND LI.Plpiece = PO.Pnum
Elle y est déjà la jointure <<< LI.Plpiece = PO.Pnum >>>

Re: Select multiples

par zeus » 01 déc. 2005, 13:34

Code : Tout sélectionner

SELECT LI.Plart FROM produits PO, listing LI WHERE PO.PDos ='NAD001R' AND PO.Ptype='Commande' AND LI.Plpiece = PO.Pnum
Tu as oublié la jointure. Si elle as plusieurs lignes par table, elle va faire un produit cartésien

essaye plutôt

Code : Tout sélectionner

SELECT LI.Plart FROM produits PO JOIN listing LI ON PO.Pnum=LI.Plpiece WHERE PO.PDos ='NAD001R' AND PO.Ptype='Commande' AND LI.Plpiece = PO.Pnum

Re: Select multiples

par Olivier[Lyon] » 01 déc. 2005, 13:22

Bonjour
J'ai encore des problemes avec mes requetes........
C'est un peu compliqué je vais essayer d'etre claire
j'ai 2 tables

Produits (avec 3 champs)
Pnum |Pdos |Ptype dont les enregistrements sont :
8 |NAD001R |Commande


Listing (avec 2 champs)
PLart | Plpiece dont les enregistrements sont
REF001 |8


Je dois recuperer le champs PLart de listing en passant par la table produits
je rentre par la table produits grace au champs Pdos
SELECT Pnum FROM produits WHERE produits.PDos ='NAD001R'
AND produits.Ptype='Commande'
ensuite je dois rechercher dans cette meme requete (quand j'ai recupere le Pnum) si produits.Pnum=listing.Plpiece alors ecrire Plart
mais je ne trouve pas comment
Je precise que le numero de Pnum est dynamique et que je dois recuperer le numero en face de Commande.

merci
Nadege

Code : Tout sélectionner

SELECT LI.Plart FROM produits PO, listing LI WHERE PO.PDos ='NAD001R' AND PO.Ptype='Commande' AND LI.Plpiece = PO.Pnum
voili voilou

par pjl » 22 nov. 2005, 14:07

Ca se fait en une seule requête avec une jointure.

Select multiples

par Nadege21 » 22 nov. 2005, 12:22

Bonjour
J'ai encore des problemes avec mes requetes........
C'est un peu compliqué je vais essayer d'etre claire
j'ai 2 tables

Produits (avec 3 champs)
Pnum |Pdos |Ptype dont les enregistrements sont :
8 |NAD001R |Commande


Listing (avec 2 champs)
PLart | Plpiece dont les enregistrements sont
REF001 |8


Je dois recuperer le champs PLart de listing en passant par la table produits
je rentre par la table produits grace au champs Pdos
SELECT Pnum FROM produits WHERE produits.PDos ='NAD001R'
AND produits.Ptype='Commande'
ensuite je dois rechercher dans cette meme requete (quand j'ai recupere le Pnum) si produits.Pnum=listing.Plpiece alors ecrire Plart
mais je ne trouve pas comment
Je precise que le numero de Pnum est dynamique et que je dois recuperer le numero en face de Commande.

merci
Nadege