2 Joins auf die selbe Tabelle

2 Joins auf die selbe Tabelle

am 16.11.2004 20:07:03 von Christian Schmidt

Hallo liebe NG,

Ich habe folgende vor.

Ich möchte gern aus einer Tabelle, die Summe (COUNT(b.id)) der Einträge,
welche im Jahr 2004 und im Monat 11 (November) abgelget wurden.

Dies mache ich wie folgt

LEFT JOIN sms_messages AS b ON b.benutzer_id = a.id
AND YEAR( FROM_UNIXTIME( b.datum ) ) = '$jahr'
AND MONTH( FROM_UNIXTIME( b.datum ) ) = '$monat'

Weiterhin möchte ich nun noch die Summe der Einträge aus der letzten Woche.

Das mache ich wie folgt

LEFT JOIN sms_messages AS c ON c.benutzer_id = b.benutzer_id
AND WEEK( FROM_UNIXTIME( c.datum ))
= WEEK(DATE_SUB(NOW(), INTERVAL 7 DAY))

Sobald ich den zweiten Join auf die Tabelle los lasse liefert er
komplett utopische Ergebnisse. Lasse ich den 2. Join weg klappt alles
wunderbar. Mir ist auch aufgefallen, dass die Queryzeiten auf ca 12sek
gestiegen sind, nachdem ich den 2. Join eingebaut habe.

Habt ihr eine Idee, warum das so ist und wie ich das verbessern kann?

Vielen Dank für eure Hilfe

Re: 2 Joins auf die selbe Tabelle

am 16.11.2004 22:02:42 von Niels Braczek

Christian Schmidt schrieb:

> Sobald ich den zweiten Join auf die Tabelle los lasse liefert er
> komplett utopische Ergebnisse. Lasse ich den 2. Join weg klappt alles
> wunderbar. Mir ist auch aufgefallen, dass die Queryzeiten auf ca 12sek
> gestiegen sind, nachdem ich den 2. Join eingebaut habe.

Wo ist das PHProblem? de.comp.datenbanken.mysql existiert.

MfG
Niels

--
"Kann mir mal jemand erklären, warum Google Milliarden von Webseiten
schneller durchsuchen kann als Microsoft [Outlook] meine 600 Emails?"
[Michael Parsons]

Re: 2 Joins auf die selbe Tabelle

am 17.11.2004 07:38:47 von Christian Schmidt

Uh Sorry...

Hab mich in der Newsgroup vertan
Tut mir leid...
ich poste das selbe nochmal in die comp.datenbank.mysql

bis dann

Re: 2 Joins auf die selbe Tabelle

am 17.11.2004 13:28:57 von Frank Schenk

Christian Schmidt wrote:

> Hallo liebe NG,
>
> Ich habe folgende vor.
>
> Ich möchte gern aus einer Tabelle, die Summe (COUNT(b.id)) der Einträge,
> welche im Jahr 2004 und im Monat 11 (November) abgelget wurden.
>
[...]
> Sobald ich den zweiten Join auf die Tabelle los lasse liefert er
> komplett utopische Ergebnisse. Lasse ich den 2. Join weg klappt alles
> wunderbar. Mir ist auch aufgefallen, dass die Queryzeiten auf ca 12sek
> gestiegen sind, nachdem ich den 2. Join eingebaut habe.
>

Wenn du fliegen willst klebst du dir dann Federn an die Arme?

Mach mehrere Queries.


Gruss, Frank