Demo

Probiere ClanSphere aus und teste daran herum. Demo


Antworten: 6
Seite [1]
WH!T3


King for a day




Herkunft: Ostrhauderfehn
Beiträge: 327
# Thema - 14.02.2013 um 17:28 Uhr
Hallo liebes CS Team ........ upps fast auf meiner Schleimspur ausgerutscht

Mein Problem

Ich Filtere gerade eine Ausgabe

Beispiel Tabelle Product

name--------level-------sell
Brötchen------0--------Bäckerei
Brot------------0--------Bäckerei
Bonbons------0--------Kiosk
Forelle---------1--------Fischmarkt
Hose-----------1--------Boutique
Cityroller-------1--------Spielzeugladen
Kette-----------2--------Juwelier
Rasenmäher--3--------Baumarkt
Bett------------3---------Möbelhaus


usw.

jetzt möchte ich die Produkte danach Filter was im Supermarkt Verkauft werden kann (level 0 + Fischmarkt Produkte)

(ich muss dazu sagen es gibt für jedes Produkt ein Speziellen Laden) nur der Supermarkt ist ein Geschäft der kann alle level 0 Produkte Verkaufen und lvl 1 Fischmarkt Produkte)

ich geh so vor (was aber nicht geht ^^)

'level = "0" AND sell = "Fischmarkt" kann ja nicht gehen da ich schon angegeben habe nur lvl 0, wie kann ich sowas hinbekommen?

Habe auch schon andere Formen versucht aber irgendwie klappt alles nicht.

Wie man sieht es gibt auch Produkte die lvl 1 sind aber nicht am Fischmarkt verkauft werden können, die müssten dann rausgefiltert werden, sonnst könnte ich ja level = "1" mitnehmen

Sprich ich will nur level 0 aufgelistet haben + level 1 Fischmarkt Produkte

sowas wie ein "alles ausser" Operator gibt es ja nicht.

Es gibt 5 Level 19 Geschäfte und knapp 190 Produkte da will ich so kurz es geht Filtern



------------------
Mfg
Pascal

Zuletzt editiert von WH!T3 am 14.02.2013 um 17:30 Uhr (1x Editiert)
Inaktiv
Deaktiviert

Supporter
Supporter



Beiträge: 1287
# Antwort: 1 - 14.02.2013 um 17:34 Uhr
SELECT * FROM products WHERE level=0 OR sell="Fischmarkt"

?


Inaktiv
|
WH!T3
Thread-Ersteller


King for a day




Herkunft: Ostrhauderfehn
Beiträge: 327
# Antwort: 2 - 14.02.2013 um 17:55 Uhr
mhh ich muss doch alles aufschreiben, ich dachte es reicht auf der kurzen Version

meine volle filterung lautet so

'users_delete = 0 AND users_active = 1 AND products_level = 0 AND products_typ = "Endprodukt" OR products_sells = "Fischmarkt"'


users_delete = 0 ist nur eine Vorsichtsmaßnahme

dazu habe noch die Produkte von den Deaktivierten leuten noch drin die rausgefiltert werden

durch dieses OR products_sells = "Fischmarkt" werden die 'users_delete = 0 AND users_active = 1 ja wieder hinfällig da teilweise Deaktivierte User noch Fischmarkt Produkte im System haben daher dürfte OR nicht gehen

EDIT:
würde NOT users_delete = 1 AND NOT users_active = 0 ein Unterschied bringen?
EDIT2: Geht auch nicht die Deaktivierten Users Produkte werden wieder aufgelistet :/

Spielt die Anordnung der Filterung eine Rolle?

Wird das so berechnet?

(x AND x) OR (X AND X)

(x AND x AND x) OR (X)

?

EDIT3

Ich glaub ich habs, kann das richtig sein?

Funktionieren tut es

 
1.
1. / 2. / ... 
 'users_delete = 0 AND users_active = 1 AND products_level = "0" AND products_typ = "Endprodukt" OR users_delete = 0 AND users_active = 1  AND products_level = "1" AND products_sells = "Fischmarkt"';


habs jetzt so Symbolisch

(delete=0 AND activ=1 AND level=0 AND typ=Endprodukt ) OR ( delete=0 AND activ=1 AND level=1 AND sells=Fischmarkt)


------------------
Mfg
Pascal

Zuletzt editiert von WH!T3 am 14.02.2013 um 18:22 Uhr (12x Editiert)
Inaktiv
|
Deaktiviert

Supporter
Supporter



Beiträge: 1287
# Antwort: 3 - 14.02.2013 um 18:24 Uhr
Klammern macht nicht nur in der Mathematik Sinn.

Auch PHP und mySQL versteht klammern.


Inaktiv
|
WH!T3
Thread-Ersteller


King for a day




Herkunft: Ostrhauderfehn
Beiträge: 327
# Antwort: 4 - 14.02.2013 um 18:32 Uhr
Umso mehr ich drüber Nachdenke umso mehr macht es Sinn.

Danke


------------------
Mfg
Pascal

Inaktiv
|
Deaktiviert

Supporter
Supporter



Beiträge: 1287
# Antwort: 5 - 14.02.2013 um 18:34 Uhr
Dein Ansatz oben ist aber falsch, denk nochmal drüber nach.

Der Query ist viel zu groß.


Zuletzt editiert von Schalla ClanSphere Team am 14.02.2013 um 18:34 Uhr (1x Editiert)
Inaktiv
|
Fr33z3m4n ClanSphere Team


Medal of Honor




Herkunft: Hamm
Beiträge: 11094
# Antwort: 6 - 15.02.2013 um 09:11 Uhr
SELECT * FROM products WHERE level=0 OR (level=1 AND sell="Fischmarkt")


------------------
mfg
Patrick "Fr33z3m4n" Jaskulski

Antoine de Saint-Exupéry: Wenn Du ein Schiff bauen willst, so trommle nicht Männer zusammen, um Holz zu beschaffen, Aufgaben zu verteilen, sondern lehre die Männer die Sehnsucht nach dem endlosen weiten Meer.

Inaktiv
|
Antworten: 6
Seite [1]


Sie müssen sich registrieren, um zu antworten.