Laden...

If-Statement in SQL-Query einbauen

Erstellt von Gogeta vor 8 Jahren Letzter Beitrag vor 8 Jahren 960 Views
G
Gogeta Themenstarter:in
152 Beiträge seit 2012
vor 8 Jahren
If-Statement in SQL-Query einbauen

verwendetes Datenbanksystem: MS SQL 2008

Guten Tag,

wie kann ich mein query anpassen, sodass ich als rückgabewert 0 oder 1 (false oder true) bekomme?
Ich möchte mit meinem if-query vergleichen ob die abfrage die ich tätige schon vorhanden ist.
Beispiel, meine Ergebnismenge:

id | col2  | col3
1    4589   4588
2    2214   1001
3    5987   4526
4    4589   7889
5    2214   1001

So wie Ihr seht sind die Zeilen 1 und 5 identisch, nur deren ID ist unterschiedlich(weil diese automisch vergeben wird).
Wie kann ich jetzt eine Query Bauen die zwei Werte engegen nimmt und mit dann ein 0(wenn nicht vorhanden) und eine 1(wenn vorhanden) wieder gibt?

Ich habe leider keinen Punkt wo ich ansetzen soll.
Ich stell mir das so vor:

if (col2 = 'variable' || col3 = 'variable2')
set 1
else 
set0

aber ich weiß leider nicht wie ich das in einen Query verpacken kann...

Ich danke für jede Hilfe.

Liebe Grüße

Hinweis von Coffeebean vor 8 Jahren

Bitte benutze die richtigen, oder zumindest überhaupt, Code-Tags.

16.807 Beiträge seit 2008
vor 8 Jahren

Na, mit einem Where und einem Or
In der Or-Doku steht sogar ein Beispiel.

G
Gogeta Themenstarter:in
152 Beiträge seit 2012
vor 8 Jahren

Hallo Abt,

danke für die Antwort!
Es erfüllt genau das was ich wollte LOL 8o
Hätte gedacht es sei komplizierter mit einem If etc.

Aber das mit dem Or zeigt mir dann die Zeilen an, dann kann ich hier mit einem Count arbeiten dann habe ich die Anzahl und das sollte ausreichen.

Danke für die schnelle Hilfe.

Lg

ps.: Moment mal...
Ich habe mein query so umgebaut

SELECT COUNT(*) As Anzahl
FROM Verbindungen
WHERE col1 = '2214'
   AND (col2 = '1001');

Dann bekomme ich zwar als Anzahl 2 raus, aber wie kann ich von dieser abfrage nun die ID von der ersten Zeile nehmen???

EDIT2:
Okay ich habe es

Select Top 1 [ID], (SELECT COUNT(*) FROM Verbindungen
WHERE col1 = '2214'
   AND (col2 = '1001')) As Anzahl
   FROM [Verbindungen]
  WHERE col1 = '2214'
   AND (col2 = '1001')

Dann bekomme ich auch die erste ID raus 🙂

Danke

2.298 Beiträge seit 2010
vor 8 Jahren

Dein Select lässt sich deutlich optimieren.


SELECT Min(ID), COUNT(*) FROM Verbindungen
WHERE col1 = '2214'
AND col2 = '1001'

Wissen ist nicht alles. Man muss es auch anwenden können.

PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager |