Pb language sql
Emmanuel
-
Emmanuel -
Emmanuel -
Bonjour,
je n'arrive pas à obtenir une seule ligne pour la réponse à la formule suivante. (je voudrais n'avoir qu'une ligne dans la colonne NO_CNG pour valeur 51) . Comment faire?
SELECT TOP (100) PERCENT dbo.CLTNEG.NO_CNG AS numero_compte, COUNT(DISTINCT dbo.totaldosneg.TOTI_DNG) AS facture_n
FROM dbo.CLTNEG INNER JOIN
dbo.totaldosneg ON dbo.CLTNEG.NO_CNG = dbo.totaldosneg.CNG1_DNG
WHERE (dbo.totaldosneg.DATF_DNG >= '20060101') AND (dbo.totaldosneg.DATF_DNG <= '20061231') OR
(dbo.totaldosneg.DATF_DNG >= N'20060101') AND (dbo.totaldosneg.DATF_DNG <= N'20061231')
GROUP BY dbo.CLTNEG.CP_CNG, dbo.totaldosneg.CNG1_DNG, dbo.CLTNEG.NO_CNG, dbo.CLTNEG.NO_CNG, dbo.CLTNEG.CP_CNG,
dbo.totaldosneg.DOC_DNG
HAVING (dbo.totaldosneg.DOC_DNG = '3') AND (dbo.CLTNEG.NO_CNG = N'51') OR
(dbo.totaldosneg.DOC_DNG = '4') AND (dbo.CLTNEG.NO_CNG = N'51')
je n'arrive pas à obtenir une seule ligne pour la réponse à la formule suivante. (je voudrais n'avoir qu'une ligne dans la colonne NO_CNG pour valeur 51) . Comment faire?
SELECT TOP (100) PERCENT dbo.CLTNEG.NO_CNG AS numero_compte, COUNT(DISTINCT dbo.totaldosneg.TOTI_DNG) AS facture_n
FROM dbo.CLTNEG INNER JOIN
dbo.totaldosneg ON dbo.CLTNEG.NO_CNG = dbo.totaldosneg.CNG1_DNG
WHERE (dbo.totaldosneg.DATF_DNG >= '20060101') AND (dbo.totaldosneg.DATF_DNG <= '20061231') OR
(dbo.totaldosneg.DATF_DNG >= N'20060101') AND (dbo.totaldosneg.DATF_DNG <= N'20061231')
GROUP BY dbo.CLTNEG.CP_CNG, dbo.totaldosneg.CNG1_DNG, dbo.CLTNEG.NO_CNG, dbo.CLTNEG.NO_CNG, dbo.CLTNEG.CP_CNG,
dbo.totaldosneg.DOC_DNG
HAVING (dbo.totaldosneg.DOC_DNG = '3') AND (dbo.CLTNEG.NO_CNG = N'51') OR
(dbo.totaldosneg.DOC_DNG = '4') AND (dbo.CLTNEG.NO_CNG = N'51')
A voir également:
- Pb language sql
- Logiciel sql - Télécharger - Bases de données
- Vistalizator language pack windows 7 - Télécharger - Traduction
- Windows display language french - Guide
- Photoshop french language pack - Forum Photoshop
- Desmume change language - Forum Jeux vidéo
2 réponses
Bonjour
Je pense que tu dois rajouter des parenthèses pour avoir une condition OR
SELECT TOP (100) PERCENT dbo.CLTNEG.NO_CNG AS numero_compte, COUNT(DISTINCT dbo.totaldosneg.TOTI_DNG) AS facture_n
FROM dbo.CLTNEG INNER JOIN
dbo.totaldosneg ON dbo.CLTNEG.NO_CNG = dbo.totaldosneg.CNG1_DNG
WHERE ((dbo.totaldosneg.DATF_DNG >= '20060101') AND (dbo.totaldosneg.DATF_DNG <= '20061231')) OR
((dbo.totaldosneg.DATF_DNG >= N'20060101') AND (dbo.totaldosneg.DATF_DNG <= N'20061231'))
GROUP BY dbo.CLTNEG.CP_CNG, dbo.totaldosneg.CNG1_DNG, dbo.CLTNEG.NO_CNG, dbo.CLTNEG.NO_CNG, dbo.CLTNEG.CP_CNG,
dbo.totaldosneg.DOC_DNG
HAVING ((dbo.totaldosneg.DOC_DNG = '3') AND (dbo.CLTNEG.NO_CNG = N'51')) OR
((dbo.totaldosneg.DOC_DNG = '4') AND (dbo.CLTNEG.NO_CNG = N'51'))
Salut
Je pense que tu dois rajouter des parenthèses pour avoir une condition OR
SELECT TOP (100) PERCENT dbo.CLTNEG.NO_CNG AS numero_compte, COUNT(DISTINCT dbo.totaldosneg.TOTI_DNG) AS facture_n
FROM dbo.CLTNEG INNER JOIN
dbo.totaldosneg ON dbo.CLTNEG.NO_CNG = dbo.totaldosneg.CNG1_DNG
WHERE ((dbo.totaldosneg.DATF_DNG >= '20060101') AND (dbo.totaldosneg.DATF_DNG <= '20061231')) OR
((dbo.totaldosneg.DATF_DNG >= N'20060101') AND (dbo.totaldosneg.DATF_DNG <= N'20061231'))
GROUP BY dbo.CLTNEG.CP_CNG, dbo.totaldosneg.CNG1_DNG, dbo.CLTNEG.NO_CNG, dbo.CLTNEG.NO_CNG, dbo.CLTNEG.CP_CNG,
dbo.totaldosneg.DOC_DNG
HAVING ((dbo.totaldosneg.DOC_DNG = '3') AND (dbo.CLTNEG.NO_CNG = N'51')) OR
((dbo.totaldosneg.DOC_DNG = '4') AND (dbo.CLTNEG.NO_CNG = N'51'))
Salut