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, 4488 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
Windows Update

Windows Update-Suche nach Win7 Neuinstallation wieder schneller

(1)

Erfahrungsbericht von the-buccaneer zum Thema Windows Update ...

Ähnliche Inhalte
Datenbanken
gelöst Hilfe bei SQL-Abfrage (5)

Frage von emeriks zum Thema Datenbanken ...

Datenbanken
gelöst SQL-Abfrage mit "kleiner gleich" funktioniert nicht (2)

Frage von derSESO zum Thema Datenbanken ...

Heiß diskutierte Inhalte
Exchange Server
Bestehende eMails autoamatisch weiterleiten (21)

Frage von metal-shot zum Thema Exchange Server ...

Hyper-V
gelöst Reiner Hyper- V Server oder lieber Rolle (21)

Frage von Winuser zum Thema Hyper-V ...

SAN, NAS, DAS
gelöst Synology Version 6.1 Probleme (18)

Frage von Hendrik2586 zum Thema SAN, NAS, DAS ...

Router & Routing
gelöst IP Kamera für drei unabhängige Netzwerke (16)

Frage von ProfessorZ zum Thema Router & Routing ...