2011-10-20 17 views
17

sto cercando di questo codice:conteggio SQL - non funziona

SELECT COUNT (oferta_id_oferta) 
FROM `oferta_has_tags` 
WHERE oferta_id_oferta = 
(SELECT id_oferta FROM oferta 
WHERE oferta = "designer") 

ricevo error: 1630 - FUNCTION mydb.COUNT does not exist. Check the 'Function Name Parsing and Resolution' section in the Reference Manual

Se rimuovo la parola COUNT, ottengo due risultati.

Qual è il problema?

risposta

49

Non mettere uno spazio

SELECT COUNT(oferta_id_oferta) 
FROM `oferta_has_tags` 
WHERE oferta_id_oferta = 
(SELECT id_oferta FROM oferta 
WHERE oferta = "designer") 
+4

dio, uno spazio. grazie :) – user947462

+0

prego: D – msarchet

+0

Soluzione perfetta :-) – Henry8

6

provare a rimuovere lo spazio tra COUNT e le parentesi:

SELECT COUNT(oferta_id_oferta) 
FROM `oferta_has_tags` 
WHERE oferta_id_oferta = 
(SELECT id_oferta FROM oferta 
WHERE oferta = "designer") 

Inoltre, probabilmente si può sbarazzarsi della vostra sottoquery unendo:

SELECT COUNT(oferta_id_oferta) 
FROM `oferta_has_tags`, `oferta` 
WHERE 
    oferta_has_tags.oferta_id_oferta = oferta.id_oferta 
    AND oferta.oferta = "designer"