Autor |
Nachricht |
Nielow
Threadersteller
Dabei seit: 15.09.2005
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Di 31.10.2006 13:59
Titel [erledigt] SQL - wo sind die Gurus? |
|
|
Nehmen wir mal an ich habe zwei TABLES:
1. FILIALE
filiale_id filiale_name
2. KUNDE
filiale_id kunde_name
Jetzt möchte ich mir die Filialenamen anzeigen lassen - sortiert nach der Anzahl der Kunden pro Filiale.
Ich habe in der echten Query noch einige Verknüpfungen mehr, WHEREs und ein paar Supquerys stehen, damit müsste sich die Lösung also vertragen.
Wer weiß rat?
Zuletzt bearbeitet von Nielow am Di 31.10.2006 15:25, insgesamt 1-mal bearbeitet
|
|
|
|
|
dastef
Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Di 31.10.2006 14:03
Titel
|
|
|
dann zeig doch mal das ganze ding - sonst ist alles nur geraten,
und die arbeit kann man sich dann eigentlich sparen.
|
|
|
|
|
Anzeige
|
|
|
Nielow
Threadersteller
Dabei seit: 15.09.2005
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Di 31.10.2006 14:21
Titel ok |
|
|
Ich wollte die Sache einfach halten, aber ok:
Code: | $query= "
SELECT DISTINCT f.filiale_id, f.filialename, f.bestelltel1, f.selbstabholer
FROM ff_filiale f, ff_lieferbereich b, ff_lieferzeiten z, ff_kategorien k, ff_karten krt
WHERE f.filiale_id=b.filiale_id
AND f.filiale_id=k.filiale_id
AND f.filiale_id=krt.filiale_id
AND k.kat_ID='".$_POST['kategorie']."'
AND f.filiale_id=z.filiale_id
AND b.gebiet_id='".$_POST['liefergebiet']."'AND f.selbstabholer='0'
AND(z.zeit_id IN
(
SELECT z.zeit_id
FROM ff_lieferzeiten z
WHERE z.wochentag_id='".vortag($_POST['tag'])."'
AND z.beginn>=z.ende
AND z.ende>='".$_POST['uhrzeit']."')
OR z.zeit_id IN
(
SELECT z.zeit_id
FROM ff_lieferzeiten z
WHERE z.wochentag_id='".$_POST['tag']."'
AND z.beginn>=z.ende
AND z.beginn<='".$_POST['uhrzeit']."')
OR z.zeit_id IN
(
SELECT z.zeit_id
FROM ff_lieferzeiten z
WHERE z.wochentag_id='".$_POST['tag']."'
AND z.beginn<z.ende
AND z.beginn<='".$_POST['uhrzeit']."'
AND z.ende>='".$_POST['uhrzeit']."'))
ORDER BY f.filialename;"; |
Das ganze ist, wie man sieht, in PHP eingebunden. Die $_POST sind direkt eingebunden, weil es sich um hidden-Felder handelt.
Eigentlich will ich die Anzahl der ff_karten krt Einträge haben, die zur jeweiligen f.filiale_id gehören und danach sortieren.
Ist das verständlich? Ich weiß nicht ob ich das so raffen würde...
|
|
|
|
|
schachbrett
Dabei seit: 11.10.2006
Ort: Köln
Alter: -
Geschlecht:
|
Verfasst Di 31.10.2006 14:24
Titel
|
|
|
Code: | SELECT filiale_name, COUNT(k.filiale_id) as kunden
FROM Filiale f, Kunde k
WHERE k.filiale_id = f.filiale_id
GROUP BY k.filiale_id
ORDER BY kunden; |
(Hab jetzt aber nicht auf deinen zweiten Post geschaut!)
Gruss
|
|
|
|
|
Nielow
Threadersteller
Dabei seit: 15.09.2005
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Di 31.10.2006 14:42
Titel
|
|
|
Danke, das hat schon fast geklappt. Aber ich bekomme jetzt keine filiale_name Einträge zu denen es keine Kunden gibt.(Auf das obere Beispiel übertragen) Muß ich das in 2 Querys machen, oder kann ich die nach unten sortieren lassen?
|
|
|
|
|
schachbrett
Dabei seit: 11.10.2006
Ort: Köln
Alter: -
Geschlecht:
|
Verfasst Di 31.10.2006 15:05
Titel
|
|
|
Code: | SELECT filiale_name, Filiale.filiale_id, COUNT(Kunde.filiale_id)
FROM Filiale
LEFT JOIN Kunde ON Filiale.filiale_id = Kunde.filiale_id
GROUP BY Kunde.filiale_id; |
Dann versuch es mal so...
|
|
|
|
|
Nielow
Threadersteller
Dabei seit: 15.09.2005
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Di 31.10.2006 15:25
Titel
|
|
|
Du bist der Killer!
|
|
|
|
|
beeviZ
Dabei seit: 30.09.2002
Ort: -
Alter: -
Geschlecht:
|
Verfasst Di 31.10.2006 18:01
Titel Re: ok |
|
|
Nielow hat geschrieben: | Das ganze ist, wie man sieht, in PHP eingebunden. Die $_POST sind direkt eingebunden, weil es sich um hidden-Felder handelt. |
wasn das fürn grund?
|
|
|
|
|
|
|
|
Ähnliche Themen |
erledigt!
[SimpleViewer] Erledigt
css / img darstellungsproblem [erledigt]
IE 8 -> 2 Domains ==> erledigt
hat sich erledigt
CSS Frage ERLEDIGT
|
|