Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

SQL Logik - Abfrage - Array - Lieferanten - Artikel - Umsatz Tabelle - Übersicht

Frage Entwicklung Datenbanken

Mitglied: Midivirus

Midivirus (Level 2) - Jetzt verbinden

17.05.2010, aktualisiert 15:42 Uhr, 4482 Aufrufe

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:
01.
  
02.
select 
03.
Kontakte.kurz as Name, 
04.
round(sum(--preisberechnung--) as VPE 
05.
from Bestellungen 
06.
join Preis on Bestellungen.Preis_id = Preis.id 
07.
join Lieferantenartikel on Preis.Lieferantenartikel_id = Lieferantenartikel.id 
08.
join Kundenartikel on Kundenartikel.id = Preis.Kundenartikel_id 
09.
join Kontakte on Kontakte.id = Kundenartikel.gelistetdurch_id 
10.
where geliefert > '2010-01-01' 
11.
and geliefert < '2010-02-01' 
12.
group by Kontakte.kurz 
13.
order by Name asc
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?
Neuester Wissensbeitrag
Ähnliche Inhalte
Datenbanken
gelöst Verschachtelte SQL-Abfrage (4)

Frage von User1000 zum Thema Datenbanken ...

Entwicklung
gelöst Array in HTML-Tabelle umwandeln mittels AutoIT (5)

Frage von drnatur zum Thema Entwicklung ...

Heiß diskutierte Inhalte
Switche und Hubs
LAG zwischen Cisco SG300 und Dlink DGS1100 herstellen - wie? (18)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

CPU, RAM, Mainboards
Hardware Fragen (12)

Frage von xaver-2 zum Thema CPU, RAM, Mainboards ...

Grafikkarten & Monitore
Neue Graifkkarte - kein Bild (10)

Frage von bestelitt zum Thema Grafikkarten & Monitore ...

Exchange Server
gelöst Exchange 2013 - Kontakte aus CSV importieren (9)

Frage von hesper zum Thema Exchange Server ...