Seite 1 von 1

[gelöst] SELECT * FROM WHERE mit mehreren Bedingungen

Verfasst: Fr, 03.05.2013 19:08
von marc 70
Hallo,

ich komme leider mit dem SELECT nicht weiter.

ich möchte gerne aus dem Beispiel alle Zeilen mit "ka" und größer als 85 und 95

Code: Alles auswählen

SQL = "SELECT * FROM ""Tabelle"" WHERE "
SQL = SQL & " ""display"" = 'ka' "
SQL = SQL & " and ""mass1"" >= 85 and ""mass2"" >= 95"
Ausgabe ist Zeile 8 und 9
bis hier stimmt es noch

jetzt noch davon, die mit dem kleinsten Preis
dass wäre dann Zeile 9
und ab da haperts

Code: Alles auswählen

""Preis"" = (SELECT MIN(""Preis"") FROM ""Tabelle"")"
einfach mit and dranhängen geht nicht, dann bleibt nichts übrig.
Könnte mir da einer weiterhelfen?
Apache OpenOffice 3.4.1
StarBasic Dialog
HSQLDB

besten Dank im voraus
gruß marc

Re: SELECT * FROM WHERE mit mehreren Bedingungen

Verfasst: Fr, 03.05.2013 20:24
von lorbass
marc 70 hat geschrieben:

Code: Alles auswählen

SELECT MIN("Preis") FROM "Tabelle"
findet »1,20« aus Satz ID=1.

Du möchtest vermutlich nicht das absolute Preis-Minimum der gesamten »Tabelle«, sondern den Satz mit dem „lokalen“ Preis-Minimum aus der bis dahin selektierten Treffermenge. Daher musst du das zweite SELECT mit denselben Bedingungen ausstatten, wie das erste.

Code: Alles auswählen

SELECT * FROM "Tabelle"
WHERE "display" = 'ka'
  AND "mass1" >= 85 and "mass2" >= 95
  AND "Preis" = (SELECT MIN("Preis") FROM "Tabelle"
                  WHERE "display" = 'ka'
                    AND "mass1" >= 85 and "mass2" >= 95")
Gruß
lorbass

Re: SELECT * FROM WHERE mit mehreren Bedingungen

Verfasst: Fr, 03.05.2013 21:19
von marc 70
Hallo lorbass,

danke für die Hilfe.
Auf die Idee einen zweiten SELECT mit der selben Bedingung noch mal hinten dran zuhängen bin ich nicht gekommen.
Das Ergebnis ist genau wie ich es haben möchte.

noch mal Danke für die schnelle Hilfe
Gruß marc