Requête SQL

Le
DIP
Bonjour,
j'ai un problème avec cette requête SQL qui ne fonctionne pas. Le porblème
s'est quelle ne retourne aucun résultat

SELECT P.RAP_LFN, P.EMPF_AUFT, T.PRODKEY2, P.MENGE, P.TXT4, P.M_EINH,
P.VDAT, P.LEIST_KOST, P.LEISTENDER, A.PROJEKT_ID, T.VISAUSER,
S.USERLEVEL, T.SUPVISADATE
FROM BDE_DATEN AS P INNER JOIN
Z1TGST AS T ON P.LEISTENDER = T.PRIMKEY AND P.VDAT =
T.VDAT INNER JOIN
Z1BENU AS U ON T.VISAUSER = U.BENUTZER INNER JOIN
Z1BENU AS S ON T.SUPVISAUSER = U.BENUTZER INNER JOIN
Z1PRK3 AS Z ON P.EMPF_AUFT = Z.PRODKEY3 INNER JOIN
AUFTRAG AS A ON Z.AUFTRAGSART = A.AUFTRAG_ID
WHERE (P.VM_IFACE_DATE IS NULL) AND (P.VISAUSER IS NOT NULL) AND
(P.MENGE <> 0) AND (P.EMPF_AUFT <> '1099999') AND (P.VISADATE IS NOT NULL)
AND (U.USERLEVEL > 1) AND (T.VISADATE IS NOT NULL) OR
(P.VM_IFACE_DATE IS NULL) AND (P.VISAUSER IS NOT NULL)
AND (P.MENGE <> 0) AND (P.EMPF_AUFT <> '1099999') AND (P.VISADATE IS NOT
NULL)
AND (S.USERLEVEL > 1) AND (T.SUPVISADATE IS NOT NULL)



Avez-vous une idée si la syntaxe est correcte.
Salutations
DIP
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Socorro
Le #11880611
DIP a formulé ce mercredi :
Bonjour,
j'ai un problème avec cette requête SQL qui ne fonctionne pas. Le porblème
s'est quelle ne retourne aucun résultat

SELECT P.RAP_LFN, P.EMPF_AUFT, T.PRODKEY2, P.MENGE, P.TXT4, P.M_EINH,
P.VDAT, P.LEIST_KOST, P.LEISTENDER, A.PROJEKT_ID, T.VISAUSER,
S.USERLEVEL, T.SUPVISADATE
FROM BDE_DATEN AS P INNER JOIN
Z1TGST AS T ON P.LEISTENDER = T.PRIMKEY AND P.VDAT =
T.VDAT INNER JOIN
Z1BENU AS U ON T.VISAUSER = U.BENUTZER INNER JOIN
Z1BENU AS S ON T.SUPVISAUSER = U.BENUTZER INNER JOIN
Z1PRK3 AS Z ON P.EMPF_AUFT = Z.PRODKEY3 INNER JOIN
AUFTRAG AS A ON Z.AUFTRAGSART = A.AUFTRAG_ID
WHERE (P.VM_IFACE_DATE IS NULL) AND (P.VISAUSER IS NOT NULL) AND
(P.MENGE AND (U.USERLEVEL > 1) AND (T.VISADATE IS NOT NULL) OR
(P.VM_IFACE_DATE IS NULL) AND (P.VISAUSER IS NOT NULL)
AND (P.MENGE NULL)
AND (S.USERLEVEL > 1) AND (T.SUPVISADATE IS NOT NULL)



Avez-vous une idée si la syntaxe est correcte.
Salutations
DIP



Lo siento, no entiendo alemàn ...
Patrice
Le #11880601
Je vois un OR au milieu qui se ballade et il n'y a pas de parenthèses pour
exprimer la priorité de ce OR par rapport aux ANDs...

Difficile de te dire ce qui ne va pas faute de savoir quel est le critère
que tu veux exprimer...

Je vois des critères qui apparaissent deux fois ce qui me fait penser que tu
veux peut-être :

P.VM_IFACE_DATE IS NULL AND
P.VISAUSER IS NOT NULL AND
P.MENGE <> 0 AND
P.EMPF_AUFT <> '1099999' AND
P.VISADATE IS NOT NULL AND
U.USERLEVEL > 1 AND
(T.VISADATE IS NOT NULL OR T.SUPVISADATE IS NOT NULL)

Mon approche serait de virer la clause WHERE et de la reconstruire pas à pas
en vérifiant à chaque fois...

--
Patrice

"DIP" discussion :
Bonjour,
j'ai un problème avec cette requête SQL qui ne fonctionne pas. Le porblème
s'est quelle ne retourne aucun résultat

SELECT P.RAP_LFN, P.EMPF_AUFT, T.PRODKEY2, P.MENGE, P.TXT4, P.M_EINH,
P.VDAT, P.LEIST_KOST, P.LEISTENDER, A.PROJEKT_ID, T.VISAUSER,
S.USERLEVEL, T.SUPVISADATE
FROM BDE_DATEN AS P INNER JOIN
Z1TGST AS T ON P.LEISTENDER = T.PRIMKEY AND P.VDAT > T.VDAT INNER JOIN
Z1BENU AS U ON T.VISAUSER = U.BENUTZER INNER JOIN
Z1BENU AS S ON T.SUPVISAUSER = U.BENUTZER INNER JOIN
Z1PRK3 AS Z ON P.EMPF_AUFT = Z.PRODKEY3 INNER JOIN
AUFTRAG AS A ON Z.AUFTRAGSART = A.AUFTRAG_ID
WHERE (P.VM_IFACE_DATE IS NULL) AND (P.VISAUSER IS NOT NULL) AND
(P.MENGE AND (U.USERLEVEL > 1) AND (T.VISADATE IS NOT NULL) OR
(P.VM_IFACE_DATE IS NULL) AND (P.VISAUSER IS NOT
NULL)
AND (P.MENGE NULL)
AND (S.USERLEVEL > 1) AND (T.SUPVISADATE IS NOT NULL)



Avez-vous une idée si la syntaxe est correcte.
Salutations
DIP


Publicité
Poster une réponse
Anonyme