# hsql statement problem



## alexpetri (6. Mai 2008)

Hi,

ich habe eine kleine frage zu dem sql hier 


```
SELECT b1.name, COUNT(*)-1 AS ebene
FROM baum AS b1,
     baum AS b2
WHERE b1.links BETWEEN b2.links AND b2.rechts
GROUP BY b1.links
ORDER BY b1.links;
```

ich bekomme folgenden Fehler:
_*Not in aggregate function or group by clause: org.hsqldb.Expression@a0dcd9 in statement*_
in mysql funtioniert es, aber nicht in der hsqldb

weiß jemand was ich falsch mache?


----------



## SlaterB (6. Mai 2008)

wenn du b1.name selektieren willst, dann musst du nach b1.name gruppieren,
völlig unabhängig davon, ob b1.links bereits dafür sorgt, dass b1.name pro Gruppe eindeutig ist


----------



## alexpetri (6. Mai 2008)

hi,

hab es jetzt mal erweitert, aber es geht immer noch nicht:

```
SELECT 
b1.name, b1.links, b1.rechts, b1.nodeID, COUNT(b1.links)-1 AS ebene 
FROM 
baum AS b1,
baum AS b2 
WHERE 
b1.links 
BETWEEN b2.links AND b2.rechts 
GROUP BY b1.links 
ORDER BY b1.links
```


----------



## SlaterB (6. Mai 2008)

ähm, das klingt so nach eine Reaktion auf mein Posting, aber richtig Sinn macht das nicht?

ich schrieb, dass b1.name auch ins GROUP BY gehört, du hast es aber immer noch nicht drin,
von weiteren SELECTS schrieb ich nix, wenn du die nun haben willst müssen sie auch ins GROUP BY


----------

