PDA

View Full Version : [SQL] Visualizzazione record nulli SQL


softevo
25-11-2009, 09:38
Ciao a tutti!!!!
Ho un problema che non riesco a risolvere: sto facendo un'interrogazione sql che comprende diversi campi presi da tabelle diverse, e fin qui tutto bene :) :)
Il problema giunge nel momento in cui incontro un campo vuoto: quando mi capita questa cosa tutte le righe della mia query che contengono quel campo non vengono più visualizzate, perchè il join tra la tabella che contiene il campo vuoto e la tabella primaria non viene più soddisfatto.
Ora, è possibile riuscire a bypassare questo problema, ovvero farmi visualizzare tutti i campi, anche quelli vuoti, indipendentemente dal fatto che lo sono, cosicchè io non perda la visualizzazione dei campi valorizzati?
La query su cui sto lavorando è questa:

SELECT
[MA_CustSupp].[CompanyName],[MA_SaleOrdDetails].[Item],[MA_SaleOrdDetails].[Description], COUNT([MA_SaleOrdDetails].[Qty]) AS 'Ordinato_cliente', COUNT([MA_PurchaseOrdDetails].[Qty]) AS 'Ordinato_fornitore', COUNT([MA_PurchaseDocDetail].[Qty]) AS 'Bolla_carico'
FROM
[MA_CustSupp], [MA_SaleOrdDetails], [MA_ItemsGoodsData], [MA_PurchaseOrdDetails], [MA_PurchaseDocDetail]
WHERE
[MA_SaleOrdDetails].[Item]=[MA_ItemsGoodsData].[Item]
AND
[MA_ItemsGoodsData].[Supplier]=[MA_CustSupp].[CustSupp]
AND
[MA_PurchaseOrdDetails].[Item]=[MA_SaleOrdDetails].[Item]
AND
[MA_PurchaseDocDetail].[Item]=[MA_SaleOrdDetails].[Item]
GROUP BY
[MA_CustSupp].[CompanyName],[MA_SaleOrdDetails].[Item],[MA_SaleOrdDetails].[Description]

Quando tutti i campi sono diversi da null mi vengono visualizzati tutti i valori, quando un campo della riga è null perdo la visualizzazione della riga, io voglio visualizzare la riga e voglio che mi venga restituito il valore null da sql server.
E' possibile?? :wall: :wall: :wall: :wall: :wall:

Scusate il casino ma non so più neanche io come mi chiamo.

Grazie anticipatamente a chi riuscirà ad aiutarmi... :) :)

john_revelator
25-11-2009, 12:30
Prova a impostare tutti i campi potenzialmente nulli con la funzione coalesce()

select coalesce(campo1,0) as campo1,coalesce(campo2,0) as campo2
....