Problème: Une colonne de base de données a un Tristate (0,1,2). Chacune des valeurs est utilisée sur le serveur.Modifier la valeur de retour de l'instruction SELECT (TSQL) [requête d'optimisation]
Le code client (qui ne peut plus être modifié) ne peut comprendre que «0,1». Dans la vue Clients, '1' est identique à '2'. Donc, je veux changer la requête SQL dans la base de données pour retourner '1', si la valeur spécifique est> 0.
Ma solution actuelle combine 2 sélections (en utilisant UNION SELECT) avec différentes clauses WHERE et en retournant '1 'ou' 0 'comme valeurs statiques. Maintenant, je cherche une solution pour 'traduire' la valeur dans une seule instruction SELECT.
Voici ma solution actuelle:
SELECT
dbo.Nachricht.NachrichtID, dbo.Nachricht.Bezeichnung, '1' AS BetrifftKontoeinrichtung,
FROM dbo.Nachricht INNER JOIN dbo.AdditionalData
ON dbo.Nachricht.NachrichtID = dbo.AdditionalData.NachrichtID
WHERE (dbo.Nachricht.NachrichtID in (450,439))
AND dbo.AdditionalData.BetrifftKontoeinrichtung > 0
UNION SELECT
dbo.Nachricht.NachrichtID, dbo.Nachricht.Bezeichnung, '0' AS BetrifftKontoeinrichtung,
FROM dbo.Nachricht INNER JOIN dbo.AdditionalData
ON dbo.Nachricht.NachrichtID = dbo.AdditionalData.NachrichtID
WHERE (dbo.Nachricht.NachrichtID in (450,439))
AND dbo.AdditionalData.BetrifftKontoeinrichtung = 0
Aimez la réponse, merci! –