簡體   English   中英

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

有誰能幫我找到它? 我從早上起就一直在尋找它,我瘋了。 感謝任何能提前幫助我的人,賈科莫

你缺少一個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別名表的第一個JOIN的別名結果......最后一個連接只是“A”別名而不是ATTR71表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM