简体   繁体   中英

MySql #1052 how to fix?

How to fix this ? (I think its in last JOIN)

SELECT id, prumer
FROM 
SELECT id, AVG( s ) prumer
FROM hodnoceni
GROUP BY id
)p
JOIN (
SELECT MIN( prumer ) nejhorsi, MAX( prumer ) nejlepsi
FROM (
SELECT id, AVG( s ) prumer
FROM hodnoceni
GROUP BY id
)p
)q ON p.prumer = q.nejhorsi
OR p.prumer = q.nejlepsi
JOIN op_add r ON p.id = r.id

Something in JOIN op_add r ON p.id = r.id

Please help me ! :)

Though not much clear but your query is syntactically wrong. It should be something like

SELECT id, prumer
FROM (
SELECT id, AVG(s) as prumer
FROM hodnoceni
GROUP BY id
) p
JOIN (
SELECT MIN( prumer ) nejhorsi, MAX( prumer ) nejlepsi
FROM hodnoceni
GROUP BY id
)q ON p.prumer = q.nejhorsi OR p.prumer = q.nejlepsi
JOIN op_add r ON p.id = r.id;

Well, your posted query is total weird and there isn't enough information to say what's that you are looking for and hence suggested solution is only for syntactical mismatch . Your query should be like

SELECT p.id, p.prumer
FROM (
SELECT id, AVG(s) as prumer
FROM hodnoceni
GROUP BY id
) p
JOIN (
SELECT MIN(prumer) as nejhorsi, MAX(prumer) as nejlepsi
FROM (
SELECT id, AVG(s) as prumer
FROM hodnoceni
GROUP BY id
)pp
)q ON p.prumer = q.nejhorsi OR p.prumer = q.nejlepsi
JOIN op_add r ON p.id = r.id;  

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM