Selectierte abfrage erstellen

tvtotal

Erfahrenes Mitglied
Hallo liebe Gemeinde,

ich habe folgende Frage:

Kann man SELECT FROM WHERE aufsplitten und je nach Wert einen anderen Weg einschlagen? So wie folgendes Bespiel: Mit IF läßt sich ein true oder false

Code:
IF(ISNULL(meinespalte), ' ', AND 1. LANGE ABFRAGE ...) 

IF(ms1 <> ms2, ' ', AND 2. LANGE ABFRAGE ...)

Wenn leer soll eine andere Abfrage kommen, als wenn vorhanden.

Danke in die Runde

tvtotal
 
Als erstes sollten wir mal definieren mit was für einer Datenbank du arbeiten willst. MySQL, Oracle, MS SQL?

Dann, geht es hier um eine Prozedure oder willst du das innerhalb einer Abfrage machen?
Sofern beide Abfragen dieselben Felder ausgeben, könnte es innerhalb einer Abfrage geben.

Poste doch mal die 2 Abfragen, dann sehen wir wie wir sie kombinieren können
 
Puh, ich stehe ganze am Anfang und wollte vor Beginn wissen, wie ich loslegen muß.

Ich kann nur 3 Tabellen liefern. Habt ihr oder Du nicht ein Beispiel, wo bei in einer Abfrage geswitcht wird, wenn ein Feld mehrere Eigenschaften haben kann?
 
Irgendwie kann das doch gar nicht klappen.

Wenn das Feld "meinespalte" des ersten Datensatz den Wert NULL soll die eine Abfrage ausgeführt werden.

Wenn aber das Feld im zweiten Datensatz einen "gültgen" Wert hat soll die andere Abfrage ausgeführt werden.

Bei 5432 Datensätzen und immer anderen Werten im Feld wird die Abfrage dann wie oft ausgeführt?
 
Ich hab irgendwo gefunden, dass MYSQL mit CASE und IF arbeitet. Ich wollte nur wissen, wie und ob es geht, eine Abfrage je nach Zustand eines bestimmten Feldes zu verändern. In php macht man das doch auch:
Code:
if (x=='wasauchimmer') {machdas} elseif...
 
Du kannst mit IF oder CASE z.B. steuern was anstatt eines Feldwertes ausgegeben werden soll. Du kannst aber nicht eine SQL-Anweisung selber verändern.

SQL:
SELECT (CASE feldname WHEN 'Hund' THEN 'Wau' WHEN 'Katze' THEN 'Miau' END) AS ausgabe FROM tabellenname

Sag doch mal was du machen willst/musst. Dann findet sich sicher eine andere Lösung.
 
Mach mir bitte ein Datenbeispiel mit Tabellen. So in der Art:
Das hab ich:
Code:
Tabelle mitarbeiter
id | firma_id | name
--------------------
1  | 1        | MA1
2  | 1        | MA2
3  | 2        | MA3

Tabelle Firma
id | name
---------------------
1  | firma1
2  | firma2

Nun will ich wissen, welche Firma wieviele Mitarbeiter hat. Das soll dann so aussehen
Code:
firma_id | firma_name | anzahl_mitarbeiter
------------------------------------------
1        | firma1     | 2
2        | firma3     | 1
 
Zurück