Avatar billede benneharli Juniormester
08. juni 2006 - 21:12 Der er 4 kommentarer og
1 løsning

Hvorfor aeder PHP ikke den her?

SELECT Tenants.TenantName, Individuals.FirstName, Individuals.LastName, EventTypes.EventText FROM Events
            JOIN Individuals ON Events.Tenantndx = Individuals.Tenantndx AND Events.Indivndx = Individuals.IndivId
            JOIN Tenants ON Events.TenantNdx = Tenants.TenantId
            JOIN EventTypes ON Events.EventTypeNdx = EventTypes.EventTypeId
            WHERE Events.Eventid IN
            (
                SELECT MAX(Events.EventId) AS EventId FROM Events
                WHERE Events.EventTypeNdx IN (14,15,16,43,44,45,51,52,53,54)
                GROUP BY Events.TenantNdx, Events.IndivNdx
            )
            AND Events.Eventid NOT IN
            (
                SELECT MAX(Events.EventId) AS EventId FROM Events
                WHERE Events.EventTypeNdx IN (14,15,16,43,44,45,51,52,53,54)
                    AND Events.PointAddr IN (8341,8853,9365,9877)
                GROUP BY Events.TenantNdx, Events.IndivNdx
            )
            AND Events.Eventid NOT IN
            (
                SELECT MAX(Events.EventId) AS EventId FROM Events
                WHERE Events.EventTypeNdx IN (16,44,52,54)
                    AND Events.PointAddr IN (10373,10885)
                GROUP BY Events.TenantNdx, Events.IndivNdx
            )
            ORDER BY FirstName
Avatar billede jakobdo Ekspert
08. juni 2006 - 21:18 #1
Virker den i phpmyadmin?
Avatar billede fixxxer Nybegynder
08. juni 2006 - 21:21 #2
Hvad har det med PHP at gøre? Mon ikke det har noget med MySQL versionen at gøre? Dine sub-selects kræver mySQL 4.1 eller nyere.
Avatar billede benneharli Juniormester
08. juni 2006 - 22:09 #3
det har det med PHP at gøre at jeg connecter til MSDE via ODBC...

Hvis jeg skriver PRÆCIS dette i et query, virker det fint... Hvis jeg smider det i PHP virker det ikke. Fjerner jeg:

          AND Events.Eventid NOT IN
            (
                SELECT MAX(Events.EventId) AS EventId FROM Events
                WHERE Events.EventTypeNdx IN (16,44,52,54)
                    AND Events.PointAddr IN (10373,10885)
                GROUP BY Events.TenantNdx, Events.IndivNdx
            )

virker det også fint...
Avatar billede benneharli Juniormester
09. juni 2006 - 13:50 #4
Har lavet den om:

$sql = "SELECT Tenants.TenantName, Individuals.FirstName, Individuals.LastName, EventTypes.EventText FROM Events
            JOIN Individuals ON Events.Tenantndx = Individuals.Tenantndx AND Events.Indivndx = Individuals.IndivId
            JOIN Tenants ON Events.TenantNdx = Tenants.TenantId
            JOIN EventTypes ON Events.EventTypeNdx = EventTypes.EventTypeId
            WHERE Events.Eventid IN
            (
                SELECT MAX(Events.EventId) AS EventId FROM Events
                WHERE Events.EventTypeNdx IN (14,15,16,43,44,45,51,52,53,54)
                GROUP BY Events.TenantNdx, Events.IndivNdx
            )
            AND Events.Eventid NOT IN
            (
                SELECT MAX(Events.EventId) AS EventId FROM Events
                WHERE (Events.EventTypeNdx IN (14,15,16,43,44,45,51,52,53,54)
                    AND Events.PointAddr IN (".$doorsOut."))
                OR (Events.EventTypeNdx IN (16,44,52,54)
                    AND Events.PointAddr IN (".$doorsInOut."))
                GROUP BY Events.TenantNdx, Events.IndivNdx
            )
            ORDER BY FirstName";
Avatar billede benneharli Juniormester
09. juni 2006 - 13:50 #5
.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester