nullen wegwerken in query

Status
Niet open voor verdere reacties.

shidan

Gebruiker
Lid geworden
8 jan 2007
Berichten
351
beste,

ik heb een query die gegevens haalt uit enkele tabellen.
de ganse query staan hieronder.

indien een waarde '0' is wordt ook een nul ingevuld.
kan ik de query aanpassen zodat een nul wordt vervangen door een lege plaats?



[sql]
SELECT
A.DT_BH_GG
,AVG(A.NRM_S109_NO_X) AS NOX1
,AVG(A.NRM_S109_SO2) AS SO21
,AVG(A.NRM_S109_ASR) AS STOF1
,AVG(A.NRM_S109_O2) AS O21
,AVG(B.NR_BED) AS BEDDING
,AVG((1000*B.BRK_BRST_DRG)/B.GW_PRD_SIN_BV) AS BVB1
,AVG(B.PRD_UUR_SIN_BV) AS PRODU1
,AVG(C.WD_VH_HEM_MGN) AS HEMMAG1
,AVG(C.WD_FE) AS FE1
,AVG(C.WD_CAO) AS CAO1
,AVG(C.WD_MGO) AS MGO1
,AVG(C.WD_SIO2) AS SI1
,AVG(C.WD_AL2O3) AS AL1
,AVG(C.WD_IX_BASI) AS INDI1
,AVG(D.NRM_S329_NO_X) AS NOX2
,AVG(D.NRM_S329_SO2) AS SO2
,AVG(D.NRM_S329_ASR) AS STOF2
,AVG(D.NRM_S329_O2) AS O22
,AVG((1000*F.BRK_BRST_DRG)/F.GW_PRD_SIN_BV) AS BVB2
,AVG(D.PRD_UUR_SIN) AS PRODU2
,AVG(E.WD_VH_HEM_MGN) AS HEMMAG2
,AVG(E.WD_FE) AS FE2
,AVG(E.WD_CAO) AS CAO2
,AVG(E.WD_MGO) AS MGO2
,AVG(E.WD_SIO2) AS SI2
,AVG(E.WD_AL2O3) AS AL2
,AVG(E.WD_IX_BASI) AS INDI2
,AVG(C.WD_MIR_05) AS LTB1
,AVG(E.WD_MIR_05) AS LTB2
,AVG(C.WD_MNO) AS MNO1
,AVG(E.WD_MNO) AS MNO2

FROM
S.SIN1DAG1 A INNER JOIN S.SIN1DAG2 B ON A.DT_BH_GG = B.DT_BH_GG
INNER JOIN S.SIN2DAG1 D ON D.DT_BH_GG= B.DT_BH_GG
INNER JOIN S.SIN2DAG2 F ON F.DT_BH_GG= B.DT_BH_GG
LEFT JOIN S.HOANL C ON C.DG_ANL_MAT_HO = B.DT_BH_GG
AND C.KRT_INST = 'SIN1'
AND C.TY_ANL_MAT = 'SI'
LEFT JOIN S.HOANL E ON E.DG_ANL_MAT_HO = B.DT_BH_GG
AND E.KRT_INST = 'SIN2'
AND E.TY_ANL_MAT = 'SI'

WHERE B.NR_BED BETWEEN ? AND ?
GROUP BY A.DT_BH_GG
ORDER BY 1

[/sql]
 
Laatst bewerkt door een moderator:
ik begrijp je antwoord niet zo best.
kun je wat verduidelijken aub?
eventueel het voorbeeld implementeren?


thnx
 
Ik snap vrij weinig van je query; de namen zijn allemaal te onduidelijk; maar je wilt dat alle 0 vervangen worden door NULL, toch?
(note: a is een veld in je tabel; je kunt het vervangen voor de naam van een ander veld)
Als je een IF gebruikt, zoals ook op de dev pagina staat, dat evalueert hij de eerste expressie ( a = 0 ), en als die waar is, selecteerd hij de tweede expressie ( NULL ), anders selecteerd hij de derde ( a ).

Dus dit zal opleveren dat het veld a dat je SELECT gewoon gelijk is aan a, tenzij a 0 is, dan zal hij NULL (een lege waarde) selecteren.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan