MySQL查询错误1064(语法错误)

MySQL query error 1064 (syntax error)

我正在尝试执行以下查询,但它似乎包含一个我找不到的错误。有问题的查询是:

select 
      A.*, 
      SD.* 
   from 
      (
         ( select 
                 V71.Sollevamento_idAttrezzatura, 
                 V71.Num_id_ON,  
                 V71.Affidato_INAIL, 
                 V71.Esito_Verifica, 
                 V71.Prima_Verifica, 
                 V71.Sospensione, 
                 V71.Data_Verbale, 
                 V71.Scadenza, 
                 CO.Nome, 
                 CO.Cognome, 
                 CO.CF, 
                 V71.Costo, 
                 V71.Sconto as ScontoVerbale, 
                 V71.Maggiorazione as MaggiorazioneVerbale, 
                 V71.Indirizzo, 
                 V71.Comune, 
                 V71.Cap, 
                 V71.Provincia, 
                 V71.Regione 
              from 
                 Verbale_Art71 as V71 
                    join Collaboratore as CO 
                       on V71.Codice_Tecnico = CO.Codice_Collaboratore 
              where 
                     V71.Data_Verbale >= '2014-01-01' 
                 and V71.Data_Verbale <= '2014-12-31' ) as VC 
         join 
         ( select 
                 S.Natura, 
                 S.Anno_Immatricolazione, 
                 S.Codice_Attribuzione_Matricola, 
                 S.Provincia_Immatricolazione, 
                 S.Numero_Matricola, 
                 S.idSpecifica, 
                 S.N_Panieri_Idroestrattori, 
                 S.Modello, 
                 S.Numero_Fabbrica, 
                 S.Anno_Costruzione, 
                 S.Sconto as ScontoAttr, 
                 S.Maggiorazione as MaggiorazioneAttr, 
                 P71.Tipo_Attr, 
                 S.Sede, 
                 S.idAttrezzatura 
              from 
                 Sollevamento as S 
                    join Periodicita_Art71 as P71 
                       on S.idPeriodicita = P71.idPeriodicita ) as SP 
            on VC.Sollevamento_idAttrezzatura = SP.idAttrezzatura
      ) as A 
      join 
      ( select 
              D.Ragione_Sociale, 
              D.Indirizzo, 
              D.Cap, 
              D.Comune, 
              D.Provincia, 
              D.Regione, 
              D.CF as CF_Ditta, 
              D.P_IVA, 
              SC.idSede 
           from 
              Ditta as D 
                 join Sede as SC 
                    on SC.Ditta = D.idDitta ) as SD 
      on ATTR71.Sede = SD.idSede

MySQL 通知语法错误接近 as A join (select D.Ragione_Sociale, D.Indirizzo, D.Cap, D.Comune, D.Provincia

谁能帮我找一下?我从一大早开始就在找它,我快疯了。感谢任何提前帮助我的人,Giacomo

您缺少 select 子句

select A.*, SD.* 
from 
    (/* You are missing a select * from here */
        (
            select ..
        ) as VC
        join

试试

select A.*, SD.* 
from 
    (select * from
        (
            select V71.Sollevamento_idAttrezzatura, V71.Num_id_ON,  V71.Affidato_INAIL, V71.Esito_Verifica, V71.Prima_Verifica, V71.Sospensione, V71.Data_Verbale, V71.Scadenza, CO.Nome, CO.Cognome, CO.CF, V71.Costo, V71.Sconto as ScontoVerbale, V71.Maggiorazione as MaggiorazioneVerbale, V71.Indirizzo, V71.Comune, V71.Cap, V71.Provincia, V71.Regione 
            from Verbale_Art71 as V71 
            join 
            Collaboratore as CO 
                on V71.Codice_Tecnico = CO.Codice_Collaboratore 
            where V71.Data_Verbale >= '2014-01-01' and V71.Data_Verbale <= '2014-12-31'
        ) as VC 
        join 
        (
            select S.Natura, S.Anno_Immatricolazione, S.Codice_Attribuzione_Matricola, S.Provincia_Immatricolazione, S.Numero_Matricola, S.idSpecifica, S.N_Panieri_Idroestrattori, S.Modello, S.Numero_Fabbrica, S.Anno_Costruzione, S.Sconto as ScontoAttr, S.Maggiorazione as MaggiorazioneAttr, P71.Tipo_Attr, S.Sede, S.idAttrezzatura 
            from Sollevamento as S 
            join 
            Periodicita_Art71 as P71 
                on S.idPeriodicita = P71.idPeriodicita
        ) as SP 
        on VC.Sollevamento_idAttrezzatura = SP.idAttrezzatura
    ) as A 
    join 
    (
        select D.Ragione_Sociale, D.Indirizzo, D.Cap, D.Comune, D.Provincia, D.Regione, D.CF as CF_Ditta, D.P_IVA, SC.idSede 
        from Ditta as D 
        join Sede as SC 
            on SC.Ditta = D.idDitta
    ) as SD 
        on ATTR71.Sede = SD.idSede

你的最终别名

 on ATTR71.Sede = SD.idSede

应该是

 on A.Sede = SD.idSede

一旦格式/可读性更好,您就可以轻松看到它。 "A" 是使用 ATTR71 别名 table 的第一个 JOIN 的别名结果...最后一个连接仅针对 "A" 别名而不是 ATTR71 table。