我正试图编写我的第一个SQL查询,但似乎语法错误。在过去的两个小时里,我一直在反复尝试着改变事情,但在第三行的某个地方似乎还是错了。有人能帮我吗?

SELECT prodotti.ID_Prodotto, prodotti.ID_Ditta,
      prodotti.Nome, prodotti.Descrizione, prodotti.ID_Tipologia,
      prodotti.Immagine, cp.Nome, valori.Valore
FROM prodotti, campi tipologia as cp, valori
WHERE prodotti.ID_Ditta = '1'
    and cp.ID_tipologia = prodotti.ID_tipologia
    and (valori.ID_prodotto = prodotti.ID_prodotto
    and valori.ID_Campo_Tipologia = cp.ID_campo);

这是我收到的错误消息:
#1064 - You have an error in your SQL syntax; check the manual that  corresponds to your
MySQL server version for the right syntax to use near 'as cp, valori WHERE prodotti.ID_Ditta = '1'
and cp.ID_tipologia = prodotti.ID_ti' at line 3

最佳答案

如果表名中有空格,则需要在表名后面打勾。
否则,还有另一个表,你需要一个逗号吗?

SELECT prodotti.ID_Prodotto, prodotti.ID_Ditta, prodotti.Nome, prodotti.Descrizione,
prodotti.ID_Tipologia, prodotti.Immagine, cp.Nome, valori.Valore
FROM prodotti, `campi tipologia` as cp, valori
WHERE prodotti.ID_Ditta = '1'
and cp.ID_tipologia = prodotti.ID_tipologia
and (valori.ID_prodotto= prodotti.ID_prodotto and valori.ID_Campo_Tipologia = cp.ID_campo);

是的,请看下面,我想可能有一个带有空格的表名。以前从没试过说实话
create table `a b`
(
    id int
);

10-08 14:17