Jump to content

Spike

Mitglieder
  • Gesamte Inhalte

    1.165
  • Benutzer seit

  • Letzter Besuch

Über Spike

  • Rang
    Reg.-Benutzer

Letzte Besucher des Profils

Der "Letzte Profil-Besucher"-Block ist deaktiviert und wird anderen Benutzern nicht angezeit.

  1. Ganz vergessen: mySQL! Dein Lösungsansatz ist aber perfekt. Zweimal inner join und dann mit where filtern. Danke!
  2. Hi, ich bin gedanklich irgendwie in einer Sackgasse. Ich habe eine Produktdatenbank, einem Produkt können dabei z. B. mehrere Merkmale zugeordnet werden (Mehrfachauswahl). Diese speichere ich in einer Zwischentabelle. Nun möchte ich alle Produkte ausgeben, aber auch einen Filter anbieten, um nach diesen Merkmalen zu filtern. Aktuell frage ich alle Produkte ab und filtere dann bei der Ausgabe, was nicht so glücklich ist (z. B. auch wegen einer geplanten Blätteranzeige). Frage: Wie kann ich den Filter möglichst geschickt in einer Gesamtabfrage einbauen? Hier mal verkürzt alles notwendige: Tabelle "Produkt" id, name Tabelle "Farbe" id, name Tabelle "Produkt_Farbe" id, produkt_id, farbe_id Wie frage ich nun z. B. alle Produkte mit Farbe "blau" ab und beziehe die Zwischentabelle ein? Bei Einfachzuweisungen ist das einfach (da die ID direkt in der Produkttabelle steht), aber bei Mehrfachzuweisungen mit Zwischentabelle stehe ich aktuell ein wenig auf dem Schlauch. Im Resultset soll jedes Produkt nur einmal auftauchen. Ich müsste die Zwischentabelle mit einem Join und Distinct in das Select einbinden in der WHERE Klausel?
  3. Mein Ansatzproblem ist im Moment eher, die einzelnen Summen auszugeben. Unter topic_id verstecken sich ja X-fache Themen. Das sieht z. B. so aus: Reviews id | book_id | topic_id | author 1 | 1 | 1 | Schmitz 2 | 2 | 1 | Schmitz 3 | 1 | 3 | Meier 4 | 1 | 4 | Schuster Wenn ich SUM (topic_id) mache, bekomme ich nicht die Anzahl der Topics des Buches 1 mit topic_id = 1. Oder sollte ich das resultset lieber in PHP parsen? Ich wollte aber schauen, ob es nicht komplett mit SQL geht, das ist doch sicher performanter.
  4. Hallo Ich suche grade den möglichst einfachen Lösungsansatz für ein SQL Statement. Aufgabe: Es gibt eine Datenbank mit Büchern und Themen. Autoren können nun diese Bücher einer Auswahl von Themen zuordnen. Dies wird in der Reviewtabelle abgebildet und verknüpft. Nun möchte ich als Ergebnis, wie oft Buch XY welches Thema XY zugeordnet wurde. Dabei ist mir das Buch bekannt. Folgende (vereinfachte) Tabellen: Reviews id book_id topic_id author Book id title Topic id title Als Ergebnis möchte ich: Buch | vorgeschlagene Themen Dort steht dann jedes Buch 1 x drin, neben dem Buch in der Spalte "vorgeschlagene Themen" genau jedes Thema einmal mit einer Zahl daneben. Da die Anzahl der Themen flexibel ist ... weiß ich noch nicht so recht, wie ich das angehen soll. Ich müsste eine Art "Schleife" für jedes Buch definieren um die Themen abzufragen? Z. B. mit SELECT SUM(topic_id) as topic_count FROM reviews WHERE book_id = 1 bekomme ich ja nur die Anzahl an Bewertungen für dieses Buch. Nicht aber die Anzahl jedes einzelnen Topics für das Buch. Mir fehlt hier irgendwie noch der Ansatz, wie ich weiter vorgehe.
  5. Unterabfragen sind ne Lösung, aber nicht so gut wartbar ... bei der Menge an Statistiken die ich ausgeben möchte. Das ist genau die elegante Lösung, die ich brauche. Danke! Einfach ne Zeile ergänzen und mit if das Datum abfragen ... schön übersichtlich.
  6. Ich steh auffem Schlauch. Ich möchte ein einziges, großes Resultset erhalten und mir damit jede Menge Einzel-Selects ersparen. Es geht (wie sollte es auch sein) um eine Statistikansicht. -> mySQL 5.0.45 und PHP 5.2.3. Ich habe 2 Tabellen, welche verkürzt aufs wesentliche so aussehen: Produkte - id - bezeichnung Angebote - produkt_id - datum In Angebote werden also alle Angebote gespeichert, die für Produkt XY rausgegeben wurden. "produkt_id" ist dabei die Verknüpfung ... gab es 4 Angebote zu Produkt XY, stehen da 4 Datensätze drin. Nun möchte ich folgendes Ergebnis erhalten: Produktbezeichnung | Anzahl Angebote Gesamt | Anzahl Angebote der letzten 30 Tage Ich könnte mir einfach alle Produkte holen und dann in PHP mit einer Schleife das Result durchlaufen und für jedes Produkt die jeweilige Countabfrage durchführen. Allerdings wollte ich nicht tausend Selects abfeuern ... deshalb frage ich mich, ob das nicht auch in einer einzigen Anweisung möglich ist? Die Statistikspalten sollten dabei auch anwachsen können ... (z. B. die letzten 3 Monate, die letzten 365 Tage usw). Was bereits funktioniert ist folgendes: SELECT a.id, a.bezeichnung, count(b.produkt_id) as anzahlgesamt FROM produkte as a,angebote as b WHERE b.produkt_id = a.id GROUP BY a.bezeichnung ORDER BY a.bezeichnung ASC [/PHP] Da gibt er hinter jedem Produkt die Gesamtzahl an Angeboten aus. Nun möchte ich aber auch eine weitere Statistikspalte haben, die Anzahl an Angeboten der letzten 30 Tage, also nochmal ein Count, mit anderer WHERE Bedingung, welche zusätzlich über das Datum geht. Also: [PHP]SELECT a.id, a.bezeichnung, count( b.produkt_id ) AS anzahl30tage FROM produkte AS a, angebote AS b WHERE b.produkt_id = a.id AND b.datum > '2009-10-05' GROUP BY a.bezeichnung ORDER BY a.bezeichnung ASC Getrennt jede Abfrage für sich funktioniert wunderbar. Nur wie bekomme ich die zusammen? UNION ist wohl der falsche Ansatz ... da tauchen beide Abfragen im selben Resultset untereinander auf.
  7. Spike

    USB-Stick scheinbar leer

    Scandisk hatte ich auch gemacht, hatte leider nichts gebracht. Über Knoppix konnte ich die Dateien nun alle sehen (inkl. sehr viel Dateisalat) und zumindest einen Teil der Daten retten. Manche Dateien waren leider beschädigt (E/A Fehler zeigte Linux an). Besser wie nix
  8. Spike

    USB-Stick scheinbar leer

    Die Datenträgerverwaltung zeigt an: FAT Fehlerfrei Kapazität 249MB Frei 133MB Belegt sind angeblich 116MB. Die bekomme ich aber nicht angezeigt. Ich lade mir gerade eine Knoppix-CD runter, mal schauen, was Linux dazu sagt ...
  9. Spike

    USB-Stick scheinbar leer

    Tach Google hilft mir hier leider nicht weiter ... vielleicht weiß hier jemand Rat? Problem: USB-Stick (256MB, schon was älter von Sharkoon) wird in Win XP eingesteckt und wie immer erkannt, aber es werden im Explorer keine Daten angezeigt. Laut Datenträgerverwaltung etc. sind aber Daten drauf, da Speicherplatz belegt ist. Hab diverse Filerecoverytools (Ontrack EasyRecovery, Restoration, Smart Recovery, Soft Perfect FileRecovery) ausprobiert, diese zeigen mir aber nur die früher einmal gelöschten Daten an. Ich möchte aber an die Daten ran, die eigentlich NICHT gelöscht sind, aber einfach nicht angezeigt werden. Explorer etc zeigt einen scheinbar leeren USB-Stick an. Am PC liegt es nicht, hab es an mehreren PCs probiert ... überall dasselbe. Formatieren würde wohl gehen, aber ich möchte ja an die Daten ran? USB-Sticks haben ja keinen MBR, der defekt sein könnte, oder? Würde eine Formatierung die Dateien als gelöscht markieren, sodass ich mit einem Recoverytool drankomme? Davor schrecke ich noch zurück, wenn es eine einfachere Methode gibt.
  10. Spike

    Hoher Internet Traffic

    Danke, das sieht doch gut aus. Ich möchte nicht "schnüffeln" in dem Sinne andere auszuspionieren sondern nur gucken ob hier im LAN ein Rechner konstant übermäßig viel Traffic hat (kann ja auch ein Sicherheitsleck sein). Ist das auch bedenklich? Ist natürlich die Frage was passiert wenn wirklich ein P2P Programm dahinter steckt ... Weil aktuell ist unser Internetzugang faktisch nicht nutzbar.
  11. Spike

    Hoher Internet Traffic

    Ganz vergessen: Windows XP fähig wäre nett.
  12. Spike

    Hoher Internet Traffic

    Hi, seit 1 Woche ist unsere Internetleitung überlastet, sprich sehr langsam. Anscheinend liegt es nicht am Provider sondern irgendein Rechner hier im Netz erzeugt wohl einen immensen Traffic. Wir nutzen den Router SMC 7008ABR welcher keine Möglichkeiten bietet dem auf die Schliche zu kommen. Hier kann ich z. B. einen "Syslog Server" angeben, an den ein Log geschickt wird. K.a. ob das hier weiter hilft. Frage: Gibt es ein einfach verständliches Tool um zu sehen welcher Rechner den Traffic verursacht? Nicht das wir hier eine Spamschleuder im Netz haben oder jemand P2P betreibt. Ich bin leider kein Sysint und wenn möglich sollte das Tool eine leicht verständliche Oberfläche haben. Ich habe z.B. Wireshark ausprobiert, werde aber aus den ganzen Protokollen etc nicht schlau. Wenn es ein Tool gibt welches mir einfach sagen könnte welche IP wie viel Traffic in den letzten 15 Minuten erzeugt hat, wäre mir schon sehr geholfen.
  13. Ich habe da jedenfalls mal angefragt nach Preis für Basic + Demo angefordert. Danke
  14. Danke, das sieht doch schon sehr interessant aus. Ist im Grunde nur eine Preisfrage, mehrere tausend Euro werden wir dafür nicht ausgeben wollen. Perfekt wäre eine kleine Lösung die mit den Anforderungen wachsen kann. Ich habe ja schon ein paar Lösungen angefragt, diese waren aber etwas zu groß, sprich man musste mehrere tausend Euro investieren.
  15. Muss das noch einmal hochholen da wieder aktuell. 4images war zwar ein nettes php-Script für eine Galerieseite, aber da wir auch viele große Druckdaten haben sollte das Ganze etwas solider sein.

Fachinformatiker.de, 2019 SE Internet Services

fidelogo_small.png

if_icon-6-mail-envelope-closed_314900.pnSchicken Sie uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App


Get it on Google Play

Kontakt

Hier werben?
Oder senden Sie eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...

Wichtige Information

Fachinformatiker.de verwendet Cookies. Mehr dazu in unserer Datenschutzerklärung