mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 29.03.2024 16:38 Benutzername: Passwort: Auto-Login

Thema: [erledigt] SQL - wo sind die Gurus? vom 31.10.2006


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [erledigt] SQL - wo sind die Gurus?
Seite: 1, 2  Weiter
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?

Antworten mit Zitat Zum Seitenanfang

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
  View user's profile Private Nachricht senden
dastef

Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Di 31.10.2006 14:03
Titel

Antworten mit Zitat Zum Seitenanfang

dann zeig doch mal das ganze ding - sonst ist alles nur geraten,
und die arbeit kann man sich dann eigentlich sparen.
  View user's profile Private Nachricht senden
Anzeige
Anzeige
Nielow
Threadersteller

Dabei seit: 15.09.2005
Ort: -
Alter: -
Geschlecht: -
Verfasst Di 31.10.2006 14:21
Titel

ok

Antworten mit Zitat Zum Seitenanfang

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...
  View user's profile Private Nachricht senden
schachbrett

Dabei seit: 11.10.2006
Ort: Köln
Alter: -
Geschlecht: Männlich
Verfasst Di 31.10.2006 14:24
Titel

Antworten mit Zitat Zum Seitenanfang

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
  View user's profile Private Nachricht senden
Nielow
Threadersteller

Dabei seit: 15.09.2005
Ort: -
Alter: -
Geschlecht: -
Verfasst Di 31.10.2006 14:42
Titel

Antworten mit Zitat Zum Seitenanfang

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?
  View user's profile Private Nachricht senden
schachbrett

Dabei seit: 11.10.2006
Ort: Köln
Alter: -
Geschlecht: Männlich
Verfasst Di 31.10.2006 15:05
Titel

Antworten mit Zitat Zum Seitenanfang

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...
  View user's profile Private Nachricht senden
Nielow
Threadersteller

Dabei seit: 15.09.2005
Ort: -
Alter: -
Geschlecht: -
Verfasst Di 31.10.2006 15:25
Titel

Antworten mit Zitat Zum Seitenanfang

Du bist der Killer!
  View user's profile Private Nachricht senden
beeviZ

Dabei seit: 30.09.2002
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Di 31.10.2006 18:01
Titel

Re: ok

Antworten mit Zitat Zum Seitenanfang

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?
  View user's profile Private Nachricht senden
 
Ähnliche Themen erledigt!
[SimpleViewer] Erledigt
css / img darstellungsproblem [erledigt]
IE 8 -> 2 Domains ==> erledigt
hat sich erledigt
CSS Frage ERLEDIGT
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.