![]() |
Datenbank: SQL • Version: 2008 • Zugriff über: ADO
SQL Abfrage mit Null Werten
Hallo,
Ich habe ein kleines Problem das ich mittels einer SQL Abfrage gerne beheben möchte. Ich benötige das Ergebniss in 1 SQL Statement. Ich habe eine Tabelle wo ich die Spalte "Sprache" abfrage in der Where Klausel. Aber nun kann es sein das für den Datensatz keine Sprache definiert wurde (also kein Ergebniss) aber dafür in der Spalte Default_Language bei einer anderen Sprache was hinterlegt ist. Dann möchte ich die Datensätze bekommen wenn die Sprache keine Werte zurück gibt das er dann die Datensätze zurück gibt wo die Default_Language auf True ist. Also
SQL-Code:
Nun soll er natürlich erst prüfen ob der Datensatz vorhanden ist dann die Abfrage machen
Select * from Test where Spalte a='Test' and activ=1 and lang='Deutsch'
SQL-Code:
Allerdings in 1 SQL Statement drin.
Select * from Test where Spalte a='Test' and activ=1 and Default_Language=1
Habe schon mit IsNull,case usw rumgespielt aber habs nicht hinbekommen. Mit IsNull kann man ja in der Abfrage einfach andere Werte oder eine andere Spalte hinterlegen, aber ich wil lja nicht nur 1 Spalte neu,sondern den ganzen Datensatz. Ist das überhaupt möglich so ? Vielen Dank. |
Re: SQL Abfrage mit Null Werten
Hallo,
vielleicht habe ich dich falsch verstanden. Du meinst nicht zufällig das hier?
SQL-Code:
SELECT * FROM Test
WHERE Spalte = 'Test' AND active = 1 AND (lang = 'Deutsch' OR Default_Language = 1) |
Re: SQL Abfrage mit Null Werten
Wenn wirklich nur ein Datensatz zurückkommen darf z.B. so:
SQL-Code:
Select * from Test where (Spalte a='Test') and (activ=1) and
((lang='Deutsch') or ((Default_Language=1) and ((Select count(id) from Test where (Spalte a='Test') and (activ=1) and (lang='Deutsch')) = 0))) |
Re: SQL Abfrage mit Null Werten
sowas sollte man doch über eine SP lösen
Code:
liefert dann die Übersetzung zurück
sf_translate( 'Test', 'Deutsch' )
Dann kann man diese Funktion in allen Abfragen schön einbauen. Vor allem kann man damit auch darauf reagieren, wenn weder 'Deutsch' noch Default_Language einen Datensatz liefert. Man gibt einfach den String 'Test' zurück. Der SQL-Server sollte dieses auch performant umsetzen |
Re: SQL Abfrage mit Null Werten
Hi Blup,
Vielen Dank. Es kann doch so einfach sein :):) Aber wenn man nicht drauf kommt :( |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz