Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Requête SQL

2 réponses
Avatar
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

2 réponses

Avatar
Socorro
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 <> 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



Lo siento, no entiendo alemàn ...
Avatar
Patrice
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" a écrit dans le message de groupe de
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 <> 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