Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

MySQL- Abfrage Problem

Diskussion: MySQL- Abfrage Problem im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Hallo Leute, nach einigen Stunden versuchen und Tests und Beratschlagung mit bekannten und freunden weiss ich jetzt nicht mehr ...

Antwort
Alt 18.11.04, 13:34   #1 (permalink)
PtB
 
Registriert seit: 09.12.03
PtB Leistung: Facit NTK
Likes: 0
Standard MySQL- Abfrage Problem

Anzeige

Hallo Leute,

nach einigen Stunden versuchen und Tests und Beratschlagung mit bekannten und freunden weiss ich jetzt nicht mehr weiter. Ich programmiere eine Shopanwendung fürs I-Net.

Fakten:
- Es sind mehrere Artikel in einer Rabattgruppe
- Jeder Kunde hat in jeder Rabattgruppe unterschiedliche Rabatte

Ich habe jetzt folgendes Problem. Es soll dem vorher ausgewähltem Kunden zu jeder Rabattgruppe ein Prozentsatz zugeordnet werden.

Meine 2 Tabellen sehen ungefähr so aus:

rab_zu
----------
|ID |
----------
|RGID |
----------
|KUID |
---------
|PRO |
---------

ID ist nur eine Nummer mit auto_increment
RGID ist die ID der Tabelle rabattgruppe
KUID ist die ID des Kunden, dem der Rabatt zugeordnet werden soll
PRO ist der Prozentsatz, den der Kunde bekommt

rabattgruppe
----------------
|ID | ID auto_increment
----------------
|RGN | Rabattgruppenname
---------------

Jetzt soll ein select feld zum auswählen sein, in dem nur noch die Rabattgruppennamen stehen sollen, die noch nicht ausgewählt wurden.

Meine Anweisung lautet:

SELECT rg.ID,rg.RGN FROM rabattgruppe rg LEFT JOIN rab_zu rz ON rg.ID=rz.RGID where rz.RGID IS NULL

Nun kann ich bei einem Kunden, der noch nichts zugewiesen bekommen hat, auch keine Rabattgruppe zuweisen, die irgendwoanders schon mal zugewiesen wurde.

Hoffentlich kann mir mal jemand helfen?

Danke

PtB ist offline   Mit Zitat antworten
Alt 18.11.04, 13:58   #2 (permalink)
Member of Honour
 
Registriert seit: 01.02.02
AaFreak Leistung: Facit NTK
AaFreak eine Nachricht über ICQ schicken
Likes: 0
Standard

Ich könnt dir helfen, weil ich kenn mich in SQL inzwischen sehr gut aus.

Aber ich versteh dein Problem noch nicht so ganz.
Könntest du das vielleciht nochmal langsam und deutlich erklären.
Zeichne mir bitte deine Tabellen auf und dann Beispiele was drinsteht und dann noch was am Ende rauskommen soll.

Danke.
AaFreak ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 18.11.04, 14:01   #3 (permalink)
Member of Honour
 
Benutzerbild von ivegotmail
 
Registriert seit: 28.05.03
ivegotmail Leistung: Z3
Likes: 1
Standard RE: MySQL- Abfrage Problem

mir ist noch nicht ganz klar was du machen willst und wo genau das problem liegt
ist als außenstehender nicht ganz einfach nachzuvollziehen

Zitat:
Original von PtB
Jetzt soll ein select feld zum auswählen sein, in dem nur noch die Rabattgruppennamen stehen sollen, die noch nicht ausgewählt wurden.
du meinst es sollen alle rabattgruppen des kunden angezeigt werden wo noch kein prozentsatz festgelegt wurde oder was genau meinst du?

Zitat:
Original von PtB
Nun kann ich bei einem Kunden, der noch nichts zugewiesen bekommen hat, auch keine Rabattgruppe zuweisen, die irgendwoanders schon mal zugewiesen wurde.
warum nicht?

und was sind deine primärschlüssel in den tabellen? in beiden fällen nur ID ?
__________________
http://livehabo.hackerboard.de | http://livebb.sourceforge.net
ivegotmail ist offline   Mit Zitat antworten
Alt 18.11.04, 14:07   #4 (permalink)
PtB
Themenstarter
 
Registriert seit: 09.12.03
PtB Leistung: Facit NTK
Likes: 0
Standard

Danke erstmal für euer Interesse,

die Primärschlüssel sind in beiden Tabellen ID.

Die KUID ind der tabelle rab_zu wird per POST übergeben und ist dadurch vorhanden.

Es soll jeder Kunde in jeder Rabattgruppe einen Prozentsatz bekommen. Im Moment ist es so, das ich z.B. 5 Rabattgruppen habe. Ich weise dem Kunden Meier in 3 Rabattgruppen prozentsätze zu. An der Stelle tritt mein Problem auf, das ich dem Kunden Schmidt nur noch die 2 Rabattgruppen, die noch nicht gewählt wurden zuweisen kann.
PtB ist offline   Mit Zitat antworten
Alt 18.11.04, 14:15   #5 (permalink)
Member of Honour
 
Registriert seit: 01.02.02
AaFreak Leistung: Facit NTK
AaFreak eine Nachricht über ICQ schicken
Likes: 0
Standard

Zitat:
SELECT rg.ID,rg.RGN FROM rabattgruppe rg LEFT JOIN rab_zu rz ON rg.ID=rz.RGID where rz.RGID IS NULL
Mit dieser Anweisung bekommst raus das dem Herrn Schmidt nur die 2 Rabattgruppen, die noch nicht gewählt wurden, zugewisen werden?
AaFreak ist offline   Mit Zitat antworten
Alt 18.11.04, 14:20   #6 (permalink)
PtB
Themenstarter
 
Registriert seit: 09.12.03
PtB Leistung: Facit NTK
Likes: 0
Standard

das stimmt. aber bei meier habe ich nur noch die auswahl der von schmidt nicht gewählten gruppen.

genau dort ist mein problem.
PtB ist offline   Mit Zitat antworten
Alt 18.11.04, 14:27   #7 (permalink)
Member of Honour
 
Registriert seit: 01.02.02
AaFreak Leistung: Facit NTK
AaFreak eine Nachricht über ICQ schicken
Likes: 0
Standard

Zitat:
where rz.RGID IS NULL
Wieso IS NULL ??? Das heißt doch er soll die nehmen welche leer sind.
Was komtm raus wenn da IS NOT NULL?? Oke, vielleciht ist des bei MySQL anderst.
Kenn mich nur mit ORACLE, ACCESS, MSSQL aus.

Ich komm bei deinem SQL Befehl iregndwie nich net ganz mit...
AaFreak ist offline   Mit Zitat antworten
Alt 18.11.04, 14:30   #8 (permalink)
PtB
Themenstarter
 
Registriert seit: 09.12.03
PtB Leistung: Facit NTK
Likes: 0
Standard

IS NULL benutze ich um die Einträge zu bekommen, die noch nicht verwendet wurden. mit NOT NULL bekomme ich für mein select feld alle einträge die schon zugeordnet wurden.
PtB ist offline   Mit Zitat antworten
Alt 18.11.04, 14:34   #9 (permalink)
Member of Honour
 
Registriert seit: 01.02.02
AaFreak Leistung: Facit NTK
AaFreak eine Nachricht über ICQ schicken
Likes: 0
Standard

ja du willst doch die daten haben in denen der rabatt in prozent drinsteht, oder?
AaFreak ist offline   Mit Zitat antworten
Alt 18.11.04, 14:38   #10 (permalink)
PtB
Themenstarter
 
Registriert seit: 09.12.03
PtB Leistung: Facit NTK
Likes: 0
Standard

eben nicht. Der User, der die Daten eingibt, soll im select Feld auf den Eingabeseite nur noch die Rabattgruppen auswählen können, die noch nicht vergeben sind.
PtB ist offline   Mit Zitat antworten
Alt 18.11.04, 14:49   #11 (permalink)
Member of Honour
 
Registriert seit: 01.02.02
AaFreak Leistung: Facit NTK
AaFreak eine Nachricht über ICQ schicken
Likes: 0
Standard

entweder bin ich schwer von begriff oder.. ?(

Zitat:
eben nicht. Der User, der die Daten eingibt, soll im select Feld auf den Eingabeseite nur noch die Rabattgruppen auswählen können, die noch nicht vergeben sind.
Der User soll die Rabattgruppen auswählen, die noch nicht vergeben sind? An wen sind die noch nicht vergeben??
AaFreak ist offline   Mit Zitat antworten
Alt 18.11.04, 14:59   #12 (permalink)
PtB
Themenstarter
 
Registriert seit: 09.12.03
PtB Leistung: Facit NTK
Likes: 0
Standard

an den jeweiligen USER.

Also ich versuchs nochmal zu erklären

es sind 2 Kunden vorhanden und 5 Rabattgruppen

jetzt wähle ich kunde 1 aus und möchte für kunde 1 in 3 Rabattgruppen einen Prozentsatz festlegen. Dies mache ich in dem ich in einem select feld die Rabattgruppe auswähle und in ein textfeld die prozentzahl eintippe. das ganze abgesendet und die seite lädt neu. jetzt erscheint für Kunde 1 die schon vergebene rabattgruppe nicht mehr im select feld(so kann er nicht für eine Rabattgruppe 2 Prozentsätze vergeben). Tue ich das mit insgesamt 3 von den 5 Rabattgruppen und wechsle zum Kunden 2 (für den noch nichts vergeben wurde) kann ich nur noch die Rabattgruppen auswählen, die ich an Kunde 1 nicht vergab.

Ich hoffe ich habe es jetzt besser beschrieben
PtB ist offline   Mit Zitat antworten
Alt 18.11.04, 15:33   #13 (permalink)
Member of Honour
 
Registriert seit: 01.02.02
AaFreak Leistung: Facit NTK
AaFreak eine Nachricht über ICQ schicken
Likes: 0
Standard

ID | USER | RABATT1 | RABATT2 | RABATT3 | RABATT4 | RABATT5

Wieso ordnest du die Tabelle nicht so an?
ID = AutoNum
USER = Nummer oder Names des Users
und dann die jeweiligen Rabatte für die User eintragen.
AaFreak ist offline   Mit Zitat antworten
Alt 18.11.04, 15:52   #14 (permalink)
PtB
Themenstarter
 
Registriert seit: 09.12.03
PtB Leistung: Facit NTK
Likes: 0
Standard

Weil die Rabattgruppen dynamisch sind. Das heisst, es könnten leich 50 verschiedene Rabattgruppen werden.
PtB ist offline   Mit Zitat antworten
Alt 18.11.04, 15:57   #15 (permalink)
Member of Honour
 
Registriert seit: 01.02.02
AaFreak Leistung: Facit NTK
AaFreak eine Nachricht über ICQ schicken
Likes: 0
Standard

Jeder User könnte 50 verschiedene Rabatte haben??
AaFreak ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » MySQL- Abfrage Problem
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Mysql-Abfrage stellt mich vor ein Problem 1000sassa (Web-) Design und webbasierte Sprachen 2 12.02.07 14:03
MySQL Abfrage bringt mich zur Verzweiflung MorbZ!!! (Web-) Design und webbasierte Sprachen 7 25.07.06 08:24
MySQL Passwort-Abfrage Cloud2302 (Web-) Design und webbasierte Sprachen 1 26.04.06 20:27
PHP/MySQL - Infos nach Abfrage Indi (Web-) Design und webbasierte Sprachen 3 08.08.03 21:15


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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61