SQL Logik - Abfrage - Array - Lieferanten - Artikel - Umsatz Tabelle - Übersicht
Hallo Meisters,
brauche ein bischen Denkfutter, da ich da so nicht weiter komme!
Situation:
Anzahl Lieferanten (fest),
Anzahl Kunden (fest),
Bestellungen von Kunden mittels Auswahl aus dem Pott.
Lieferanten bekommen Meldung, wenn in Bestellung für Sie dabei ist.
Natürlich hab ich dann im Januar mal 60 Lieferanten, im Februar mal 70.
Ergebnis soll sein, dass ich eine Tabelle erhalte, die aussieht:
KUNDE Monat 01 Monat 02 ...
Alpha Umsatz Bestellungen Umsatz Bestellungen
Beta Umsatz Bestellungen Umsatz Bestellungen
Omega Umsatz Bestellungen Umsatz Bestellungen
..
..
Bisher hab ich das so gemacht:
3 Arrays: Kunde, Umsatz, Bestellungen
wenn immer die gleiche Anzahl an Lieferanten vorhanden wäre (worauf nicht geachtet wurd), wäre es nicht zu dem Problem gekommen.
Kunde = Alpha, Beta, Omega
Umsatz = €uro
Bestellungen = Anzahl Bestellungen
$anzahlkunden = count($kunde);
($i+($j*$anzahlkunden))
j = laufender Monat 1 - 5
i = Kunde (alpha ...)
Somit wird die Tabelle mittels mehrer FOR-Schleifen zusammengebaut.
Tabellen:
Bestellungen
Kontakte (beinhaltet Lieferant + Kunde)
Vertrag (beinhaltet die Bez zwischen Kunde und Lieferant)
Kundenartikel
Lieferantenartikel
Preise
Welche Info ist noch wichtig?
Mal so ein Beispiel, was ich bislang in abgespeckter SQL Variante benutzt habe:
Sonst einfach melden ... Infos gibt es immer.
Grüße
fleißiges Bienchen
Midivirus
UPDATE^1:
Mein Gedanke war halt, dass ich für jeden Kunden, eine einzelne Abfrage erstelle ... aber ich kann nicht 70 Abfragen ausführen,
Jetzt mit 10 ist es ja schon viel ... 2 pro Kalendermonat
UPDATE^2:
Wo ich den Sourcecode von diversen CMS-Systemen gelesen habe, ist mir an vielen Stellen aufgefallen, dass dort 2 Arrays miteinander abgeglichen werden.
So könnte ich doch jetzt eine Abfrage gestalten, die alle Lieferanten in ein Array packt, anschließend die Umsätze pro Monat in ein Array, dass dann filtern, so dass im dritten dann die Ergebnisse stehen (incl. leere Felder).
und das Array mit den Umsätzen pro Monat wird geleert und mit dem nächsten Monat voll gemacht.
mögliche Idee?
brauche ein bischen Denkfutter, da ich da so nicht weiter komme!
Situation:
Anzahl Lieferanten (fest),
Anzahl Kunden (fest),
Bestellungen von Kunden mittels Auswahl aus dem Pott.
Lieferanten bekommen Meldung, wenn in Bestellung für Sie dabei ist.
Natürlich hab ich dann im Januar mal 60 Lieferanten, im Februar mal 70.
Ergebnis soll sein, dass ich eine Tabelle erhalte, die aussieht:
KUNDE Monat 01 Monat 02 ...
Alpha Umsatz Bestellungen Umsatz Bestellungen
Beta Umsatz Bestellungen Umsatz Bestellungen
Omega Umsatz Bestellungen Umsatz Bestellungen
..
..
Bisher hab ich das so gemacht:
3 Arrays: Kunde, Umsatz, Bestellungen
wenn immer die gleiche Anzahl an Lieferanten vorhanden wäre (worauf nicht geachtet wurd), wäre es nicht zu dem Problem gekommen.
Kunde = Alpha, Beta, Omega
Umsatz = €uro
Bestellungen = Anzahl Bestellungen
$anzahlkunden = count($kunde);
($i+($j*$anzahlkunden))
j = laufender Monat 1 - 5
i = Kunde (alpha ...)
Somit wird die Tabelle mittels mehrer FOR-Schleifen zusammengebaut.
Tabellen:
Bestellungen
Kontakte (beinhaltet Lieferant + Kunde)
Vertrag (beinhaltet die Bez zwischen Kunde und Lieferant)
Kundenartikel
Lieferantenartikel
Preise
Welche Info ist noch wichtig?
Mal so ein Beispiel, was ich bislang in abgespeckter SQL Variante benutzt habe:
select
Kontakte.kurz as Name,
round(sum(--preisberechnung--) as VPE
from Bestellungen
join Preis on Bestellungen.Preis_id = Preis.id
join Lieferantenartikel on Preis.Lieferantenartikel_id = Lieferantenartikel.id
join Kundenartikel on Kundenartikel.id = Preis.Kundenartikel_id
join Kontakte on Kontakte.id = Kundenartikel.gelistetdurch_id
where geliefert > '2010-01-01'
and geliefert < '2010-02-01'
group by Kontakte.kurz
order by Name asc
Grüße
fleißiges Bienchen
Midivirus
UPDATE^1:
Mein Gedanke war halt, dass ich für jeden Kunden, eine einzelne Abfrage erstelle ... aber ich kann nicht 70 Abfragen ausführen,
Jetzt mit 10 ist es ja schon viel ... 2 pro Kalendermonat
UPDATE^2:
Wo ich den Sourcecode von diversen CMS-Systemen gelesen habe, ist mir an vielen Stellen aufgefallen, dass dort 2 Arrays miteinander abgeglichen werden.
So könnte ich doch jetzt eine Abfrage gestalten, die alle Lieferanten in ein Array packt, anschließend die Umsätze pro Monat in ein Array, dass dann filtern, so dass im dritten dann die Ergebnisse stehen (incl. leere Felder).
und das Array mit den Umsätzen pro Monat wird geleert und mit dem nächsten Monat voll gemacht.
mögliche Idee?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 142958
Url: https://administrator.de/contentid/142958
Ausgedruckt am: 25.11.2024 um 05:11 Uhr