Jag försöker köra följande fråga:
SELECT a.Price, a.AdvertismentId, AdHeader, sc.CategoryName AS SubCategory, mc.CategoryName AS MainCategory, count(*) AS Pics
FROM (Advertisment a LEFT JOIN AdImages i ON a.AdvertismentId = i.AdvertismentId), SubCategory sc, MainCategory mc
WHERE a. SubCategory = sc.CategoryId
AND sc.ParentCategory = mc.CategoryId
AND Pics > 1
GROUP BY AdvertismentId
ORDER BY AdCreated DESC
Men jag kan inte göra urval på "Pics", varför? Hur gör jag om jag vill plocka ut de poster som har (den temporära) kolumnen Pics > 1?
Kör mot en MySQL databas!
@ndersMedlem sedan juni 200032 969 inlägg Du måste nog ha med alla fält som inte är beräknade i GROUP BY.
Vad får du för felmeddelande?
Nu kommer jag inte ihåg det exakta felmeddelandet (sitter på jobbet nu), men om jag tar bort denna rad:
AND Pics > 1 så funkar det... så det är endast den som ställer till det för mig.
Engine^Medlem sedan dec. 20003 887 inlägg Du menar att det ska finnas mer än en bild... jag tror att du måste ange det villkoret för GROUP BY. Samtidigt håller jag med @nders.
SELECT a.Price, a.AdvertismentId, AdHeader, sc.CategoryName AS SubCategory, mc.CategoryName AS MainCategory, count(*) AS Pics
FROM ((Advertisment a
LEFT JOIN AdImages i
ON a.AdvertismentId = i.AdvertismentId)
INNER JOIN SubCategory sc
ON sc.CategoryId = a.SubCategory)
INNER JOIN MainCategory mc
ON mc.CategoryId = sc.CategoryId
GROUP BY a.Price, a.AdvertismentId, AdHeader, sc.CategoryName, mc.CategoryName
HAVING Count(*) > 1
ORDER BY AdCreated DESC
Om den här frågan fungerar vete hånken, men ungefär så skulle den nog se ut om jag gjorde en liknande.
Åhhh.. HAVING tänkte jag inte ens på. Självklart lär det vara så jag gör ;-)
Tack för svaren alla snälla!
Ps. Det funkar bra att bra gruppera på AdvertismentId :) Ds.
@ndersMedlem sedan juni 200032 969 inlägg
mattiasjarnhall skrev:
Ps. Det funkar bra att bra gruppera på AdvertismentId :) Ds.
Konstigt. Kan det kanske vara specifikt för MySQL?
Mvh
LarsGMedlem sedan dec. 200012 464 inlägg Ja, och det är väldigt konstigt att dom tillåter det och till och med kallar det för en feature.