webForumDet fria alternativet

Nästlad SQL med GROUP BY i MySQL 4.1.12

Databaser & SQL

6 svar · 461 visningar · startad av web00132

Medlem sedan maj 2001797 inlägg
Frågan#1

Jag har två tabeller som ser ut typ så här:

tblSections
intUniqueID	intSectionID	intLayoutID

tblSubSections
intUniqueID	intSectionID	intSectionID	intLayoutID

Försöker köra en SQL-sats som ser ut typ så här:

SELECT
*

FROM
tblSections

WHERE
intSectionID IN (
  SELECT
  intSectionID

  FROM
  tblSubSections

  WHERE
  intLayoutID = 1

  GROUP BY
  intSectionID)

Det går tyvärr inte, får felmeddelandet "You have an SQL error. Check the manual for the correct syntax near 'SELECT intSectionID FROM tblSubSections WHERE intLayoutID = 1 G'". Har haft problem tidigare med nästlade SQL-satser på den siten jag för tillfället jobbar med, kan det ha med MySQL-versionen att göra?

Medlem sedan juni 200032 967 inlägg
#2

Hmm...

Vad vill du egentligen ha för resultat?

Medlem sedan dec. 200012 464 inlägg
#3

Det låter precis som det fel man får om har 4.0 eller äldre.

Att ha group by på det sättet i en subselect är helt meningslöst.

Medlem sedan maj 2001797 inlägg
#4

Tack för svaren!
Gah, jag hade nog lite hjärnsläpp, fixade det så här (så klart!):

SELECT
tblSections.intSectionID

FROM
tblSections,tblSubSections

WHERE
tblSections.intSectionID = tblSubSections.intSectionID AND
tblSubSections.intLayoutID = 1

GROUP BY
tblSections.intSectionID

:bire

Förresten, varför är det meningslöst? Alltså ifall man vill få fram ett unikt värde på det sättet i en subselect så är det väl inte meningslöst?

Medlem sedan juni 200032 967 inlägg
#5

Alltså ifall man vill få fram ett unikt värde på det sättet i en subselect

SELECT DISTINCT?

Medlem sedan dec. 200012 464 inlägg
#6

Distinct är lika meningslöst. Det finns inget behov av få fram distinkta värden, oavsett om subselecten returnerar en eller flera poster med samma värde så blir resultatet av den yttre selecten detsamma.

Medlem sedan maj 2001797 inlägg
#7

Hehe, ok. Jag ville egentligen aldrig ta i det här problemet igen ens med tång, för vi bestämde oss för att göra på ett annat sätt för att det skulle lösa andra problem, men ta en titt på den här tråden:
http://www.webforum.nu/showthread.php?t=139351

Lots of in-and-outs kan man lugnt säga, poängen är iaf att i det problemet så ville jag få fram unika produktnamn + en massa andra villkor. Om ni inte är jätteintresserade så behöver ni så klart inte titta, problemet är ju löst på annat sätt :)

256 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)