Problematischer SQL, der eigentlich laufen müsste

Problematischer SQL, der eigentlich laufen müsste

am 11.07.2006 15:33:28 von mysql

Hallo Onlinegemeinde,

ich bin im Moment krampfhaft dran diese Abfrage zum laufen zu bekommen:
-----------------------
Select c.cat_name, t.ticket_status, t.ticket_subject,
ccat_description, hi2.endtime, hi1.starttime, hi3.firstTime,
tticket_id
from phpgw_tts_tickets as t

inner join (select h1.history_record_id, min(h1.history_old_value)
as starttime
from phpgw_history_log as h1
group by history_record_id) as hi1 on (
hi1.history_record_id =3D t.ticket_id
)
inner join (select h2.history_record_id,
max(h2.history_new_value) as endtime
from phpgw_history_log as h2
group by history_record_id) as hi2 on (
hi2.history_record_id =3D t.ticket_id
)
inner join (select h3.history_record_id,
min(h3.history_timestamp) as firstTime
from phpgw_history_log as h3
group by history_record_id) as hi3 on (
hi3.history_record_id =3D t.ticket_id
)
inner join phpgw_categories as c on (

t.ticket_category =3D c.cat_id

)
-------------------------
Als Fehlermeldung bekomme ich:
#1064 - You have an error in your SQL syntax. Check the manual that
corresponds to your MySQL server version for the right syntax to use
near 'select h1.history_record_id, min(h1.history_old_value) as start


Wenn ich die einzelnen Selects absetzte funktioniert das ganze, in der
Kombination hauts den SQL dann auf die Nase.

Danke schon mal für eure Hilfe.

Re: Problematischer SQL, der eigentlich laufen müsste

am 11.07.2006 16:20:10 von Fabian Schladitz

mysql schrieb:
> ich bin im Moment krampfhaft dran diese Abfrage zum laufen zu bekommen:=

> -----------------------

[hässliches SQL]

> -------------------------
> Als Fehlermeldung bekomme ich:
> #1064 - You have an error in your SQL syntax. Check the manual that
> corresponds to your MySQL server version for the right syntax to use
> near 'select h1.history_record_id, min(h1.history_old_value) as start
>=20
>=20
> Wenn ich die einzelnen Selects absetzte funktioniert das ganze, in der
> Kombination hauts den SQL dann auf die Nase.

Welche MySQL-Version hast du denn?
Und was versuchst du da zu tun? (Vielleicht gibt es einen Weg ohne all=20
die Sub-Selects)

Und kannst du bitte ein vernünftig formatiertes SQL posten, sodass man =

den Kram LESEN kann? Das würde die Wahrscheinlichkeit einer nützliche=
n=20
Antwort stark erhöhen.

--=20
Gruss,
Fabian

Re: Problematischer SQL, der eigentlich laufen müsste

am 11.07.2006 16:36:56 von mysql

> Welche MySQL-Version hast du denn?
> Und was versuchst du da zu tun? (Vielleicht gibt es einen Weg ohne all
> die Sub-Selects)

Ich nutze MySQL 4.0.24 auf einer Debian-10sarge1 Maschine. Die Abfrage
ist soll einen TroubleTicketbestand aufräumen, das ganze zeitlich
abgegrenzt.
Ich habe die Begrenzungen soweit entfernt, da es an denen nicht liegen
kann, da alle Selects für sich funktionieren und nur in der
Kombination nicht.

Folgende Variante brachte auch keinen Erfolg:
-----------
Select from phpgw_tts_tickets as t,
(select h1.history_record_id, min(h1.history_old_value) as starttime
from phpgw_history_log as h1
group by history_record_id) as hi1,
(select h2.history_record_id, max(h2.history_new_value) as endtime
from phpgw_history_log as h2
group by history_record_id) as hi2,
(select h3.history_record_id, min(h3.history_timestamp) as firstTime
from phpgw_history_log as h3
group by history_record_id) as hi3
inner join phpgw_categories as c on (
t.ticket_category =3D c.cat_id
)
----------

> Und kannst du bitte ein vernünftig formatiertes SQL posten, sodass man
> den Kram LESEN kann? Das würde die Wahrscheinlichkeit einer nützlichen
> Antwort stark erhöhen.

Hab ich mich gerade bemüht dieses zu tun. Hoffe dieses erreicht zu
haben.

Re: Problematischer SQL, der eigentlich laufen müsste

am 11.07.2006 16:49:26 von Christian Kirsch

mysql schrieb:
>> Welche MySQL-Version hast du denn?
>> Und was versuchst du da zu tun? (Vielleicht gibt es einen Weg ohne all
>> die Sub-Selects)
>
> Ich nutze MySQL 4.0.24 auf einer Debian-10sarge1 Maschine. Die Abfrage
> ist soll einen TroubleTicketbestand aufräumen, das ganze zeitlich
> abgegrenzt.

Mehr als

http://dev.mysql.com/doc/refman/4.1/en/news-4-1-0.html

gibt es dazu inhaltlich nicht zusagen. Fabian hat den Hinweis ja schon
gegeben.

Formal: Bitte leg' Dir einen Realnamen zu und gewöhne Dir vernünftiges
Zitieren an. Das obige kann man Fabian nicht mehr zuordnen.