J'essaie de compter le nombre total d'employés dans ma table de sous-requêtes. Supposons que le résultat du comptage renvoie 0, mais qu'il continue à renvoyer 1.COUNT (DISTINCT()) Retourne la valeur false
Si j'essaie de renvoyer uniquement le paramètre employee_id et le mois, je n'ai obtenu aucune valeur de retour pour may qui est correcte, mais chaque fois que j'essaie de compter (distinct), j'obtiendrai 1 comme valeur de retour. Ceci est mon sql
SELECT
count (distinct(CASE WHEN (x.month =5 and x.employee_id <> 0) THEN
x.employee_id
ELSE 0 END)) as test_may
FROM(
(
SELECT
h.month,
h.employee_id,
eb.employee_no,
ee.company_code,
h.amount,
h.year,
h.trx_type,
h.trx_code,
v.trx_desc,
h.frequency,
h.run_sequence
FROM
v_employee h,
v_trans v,
employee_emp ee,
employee eb
WHERE
(h.year = 2014) AND
(h.employee_id = ee.employee_id) AND
(ee.employee_id = eb.employee_id) AND
(h.employee_no = eb.employee_no) AND
(h.trx_code = v.trx_code) AND
(h.trx_type = v.trx_type) AND
(v.company_code = ee.company_code OR v.company_code is NULL) AND
(h.trx_type IN ('S','B','N','O','A','D','L'))
)
)x,
employee_emp ee,
employee eb
WHERE
(x.employee_id = ee.employee_id) AND
(ee.employee_id = eb.employee_id) AND
(x.employee_no = eb.employee_no) AND
(x.year = 2014)
Mysql n'est pas SQL-Server, donc j'ai supprimé le tag – Jens
COUNT DISTINCT n'est pas cassé, ni SQL, la langue. Quelles sont vos données, qu'attendez-vous et qu'as-tu obtenu? Si une ligne est retournée, le résultat sera 1 –
Le résultat dépendra simplement de votre deuxième requête ... mieux vaut le vérifier par vous-même. –