ERLEDIGT
JA
JA
ANTWORTEN
2
2
ZUGRIFFE
447
447
EMPFEHLEN
-
24.04.12 19:22 #1
Mitglied
- Registriert seit
- May 2011
- Beiträge
- 18
Ich hab in Java folgendes Query:Jetzt will ich das WHERE erweitern:Code sql:1
SELECT f.* FROM (SELECT item,MIN(price) AS minprice FROM stock GROUP BY item) AS x INNER JOIN stock AS f ON f.item = x.item AND f.price = x.minprice WHERE (world = 'world' OR world = 'world_nether')
Wenn <damageable==true> DANN <prüfe, ob durability==0>
Wie stelle ich das an?
Struktur:Code sql:1
CREATE TABLE stock('id' INTEGER PRIMARY KEY,'durability' INTEGER, 'damageable' BOOLEAN, 'enchantments' VARCHAR(80),'world' VARCHAR(80),'seller' VARCHAR(80) NOT NULL,'item' INTEGER NOT NULL, 'price' FLOAT NOT NULL,'amount' INTEGER NOT NULL)
-
24.04.12 22:37 #2
item: Ein Tipp. Formatiere SQL-Statements in ein lesbares Format. Einzeiler sind in dieser komplexität nicht mher lesbar. Klammern zählen ist ein schlechtes Hobby. Ps: Siehe auch den dritten Punkt meine Signatur - normalerweise lese ich solche SQLs NICHT!
Etwa so kann man das LESBAR formatieren
Code sql:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
SELECT f.* FROM ( SELECT item, MIN(price) AS minprice FROM stock GROUP BY item ) AS x INNER JOIN stock AS f ON f.item = x.item AND f.price = x.minprice WHERE ( world = 'world' OR world = 'world_nether' );
Code sql:1 2 3 4 5 6 7 8 9 10 11
CREATE TABLE stock( 'id' INTEGER PRIMARY KEY, 'durability' INTEGER, 'damageable' BOOLEAN, 'enchantments' VARCHAR(80), 'world' VARCHAR(80), 'seller' VARCHAR(80) NOT NULL, 'item' INTEGER NOT NULL, 'price' FLOAT NOT NULL, 'amount' INTEGER NOT NULL );
item: mit einem CASE kannst du das wahrscheinlich lösen. Das folgende Beispiel ist für MySQL. In SQLlIte gibt es sicher was ähnliches.
Code sql:1 2 3 4 5 6 7 8 9 10 11 12 13
... WHERE ( world = 'world' OR world = 'world_nether' ) AND CASE WHEN damageable THEN (durability = 0) ELSE TRUE END CASE;
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
25.04.12 17:28 #3
Mitglied
- Registriert seit
- May 2011
- Beiträge
- 18
Danke, sry für die Formatierung, SQL ist nicht wirklich mein Fachgebiet...
Besonders, wenn man bedenkt, dass die Lösung viel einfacher gewesen wäre und ich so mal wieder nen sinnlosen Therad eröffnet habe:
Code sql:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
SELECT f.* FROM ( SELECT item, MIN(price) AS minprice FROM stock GROUP BY item ) AS x INNER JOIN stock AS f ON f.item = x.item AND f.price = x.minprice WHERE ( world = 'world' OR world = 'world_nether' ) AND ( damageable == 'false' OR durability == 0 )
Ähnliche Themen
-
» Word Wenn in Spalte = True; dann "ü"?
Von TerraX10 im Forum Office-AnwendungenAntworten: 2Letzter Beitrag: 16.03.12, 13:07 -
[ANT] Targetaufruf nur wenn property = true
Von McLeise im Forum JavaAntworten: 2Letzter Beitrag: 30.03.10, 13:22 -
Wenn Beide WHERES übereinstimmen = TRUE
Von Udem im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 14.09.09, 18:27 -
Weiterleitung wenn function_exists = true
Von jatop im Forum PHPAntworten: 2Letzter Beitrag: 01.10.07, 23:58 -
XSL Problem:Bedingung 2x true
Von Bionicman im Forum XML TechnologienAntworten: 4Letzter Beitrag: 04.09.04, 15:14




Zitieren

Login