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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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 ...
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
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 ...
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
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" <DIP@discussions.microsoft.com> a écrit dans le message de groupe de
discussion : 2396FE8D-DC78-4E7A-9EA4-E367C2C4B570@microsoft.com...
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
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