webForumDet fria alternativet

Problem med en fråga

6 svar · 265 visningar · startad av mattiasjarnhall

mattiasjarnhallMedlem sedan apr. 2001126 inlägg
#1

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
#2

Du måste nog ha med alla fält som inte är beräknade i GROUP BY.

Vad får du för felmeddelande?

mattiasjarnhallMedlem sedan apr. 2001126 inlägg
#3

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
#4

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.

mattiasjarnhallMedlem sedan apr. 2001126 inlägg
#5

Å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
#6

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
#7

Ja, och det är väldigt konstigt att dom tillåter det och till och med kallar det för en feature.

125 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)