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

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

marc 70
**
Beiträge: 38
Registriert: Mo, 24.09.2012 23:00

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

Beitrag 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
Dateianhänge
Zwischenablage02.jpg
Zwischenablage02.jpg (22.15 KiB) 1314 mal betrachtet
Zuletzt geändert von marc 70 am Fr, 03.05.2013 21:20, insgesamt 1-mal geändert.
AOO411m6(Build:9775) unter WIN7 64bit
Benutzeravatar
lorbass
********
Beiträge: 4116
Registriert: Mo, 01.05.2006 21:29
Wohnort: Bonn

Re: SELECT * FROM WHERE mit mehreren Bedingungen

Beitrag 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
marc 70
**
Beiträge: 38
Registriert: Mo, 24.09.2012 23:00

Re: SELECT * FROM WHERE mit mehreren Bedingungen

Beitrag 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
AOO411m6(Build:9775) unter WIN7 64bit
Antworten