phpbar.de logo

Mailinglisten-Archive

RE: Tricky Select
Archiv Mailingliste mysql-de

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Tricky Select




On 03-Aug-00 Stefan Krister wrote:
> 
> Hi,
> 
> ich habe gerade meinen bisher schlimmsten Select gebaut! Wer Lust hat,
> diese Nuß zu knacken, möchte bitte weiterlesen. Meine Lösung des
> Problems poste ich in ein paar Tagen ....
> 
> Gegeben:
> 
> Download-Key-Tabelle (id, abteilung, hersteller, ...)
> Download-Tabelle (key-id, datum, datei, ...)
> 
> Jede Datei ist in der download-Tabelle mit der entspr. Abteilung und
> Hersteller verlinkt. (hier unwesentliche Felder habe ich weggelassen.
> 
> Gesucht:
> 
> select, welches folgendes bringt:
> 
> Abteilung  Hersteller  Neue Dateien  Gesamtanzahl Dateien
> =========  ==========  ============  ====================
> EIB        ABB                    2                     5
> EIB        YYY                    0                     6
> ZZZ        VVV                    1                     1
> 
> usw.
> 
> Das grobe Gerüst des selects sieht so aus:
> 
> select abteilung, 
>        hersteller,
>        xxx as neu,
>        count(*) as gesamt,
> from download_key, download
> where download.key-id = download_key.id
> group by hersteller, abteilung
> order by abteilung, hersteller
> 
> Was fällt Euch zu "xxx" ein, wenn ich die neuen Dateien der letzten 14
> Tage haben will?
> 
> Lösungen, die nicht nur aus einen "xxx" bestehen, sondern ganz anders
> an das Problewm herangehen sind ebenfalls wilkommen.

Also ....

ich würd sagen, eine Temporär-Tabelle ist dein Freund ... mach zwei Selects,
einmal einen, in dem du alles was neu ist zählst, im anderen zählst du alles
(sie unterscheiden sich also nur durch eine "and datum > (2 Tage früher)" ).
Den einen schreinst du in ne Temp-Tabelle, den zweiten joinst du dann
zusätzlich noch mit der temptabelle. 
 

Michael

-- 
Michael Bergbauer <michael.bergbauer_(at)_gmx.net>
Use your idle CPU cycles.
See http://www.distributed.net and win $ 1 000.
Visit our mud Geas at geas.franken.de Port 3333

---
*** Abmelden von dieser Mailingliste funktioniert per E-Mail
*** an mysql-de-request_(at)_lists.4t2.com mit Betreff/Subject: unsubscribe


Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive