2012-10-25 72 views
-2

我在這個SQL語句中的錯誤,我不知道爲什麼:用sql語句的問題

SELECT t1.id_servidor_virtual as id_servidor_virtual, 
    t1.nombre_servidor as nombre_servidor, 
    t1.plantilla as plantilla, 
    (SELECT tt1.descripcion 
     FROM sku_precios tt1 
     WHERE tt1.id_sku_precio = 'VM --') as c_sv, 
    t1.sv_pvp as c_sv_pvp, 
    t1.sv_pvp_dist as c_sv_pvp_dist, 
    (SELECT tt1.descripcion 
     FROM sku_precios tt1 
     WHERE tt1.id_sku_precio = 'VCPU --') as c_cpu, 
    t1.cpu_cant as c_cpu_cant, 
    t1.cpu_pvp as c_cpu_pvp, 
    t1.cpu_pvp_dist as c_cpu_pvp_dist, 
    (SELECT tt1.descripcion 
     FROM sku_precios tt1 
     WHERE tt1.id_sku_precio = 'RAM --') as c_ram, 
    t1.ram_cant as c_ram_cant, 
    t1.ram_pvp as c_ram_pvp, 
    t1.ram_pvp_dist as c_ram_pvp_dist, 
    aletras(t1.ram_cant) as c_ram_unidad, 
    (SELECT tt1.descripcion 
     FROM sku_precios tt1 
     WHERE tt1.id_sku_precio = 'HDSTD --') as c_hdd, 
    t1.hdd_cant as c_hdd_cant, 
    t1.hdd_pvp as c_hdd_pvp, 
    t1.hdd_pvp_dist as c_hdd_pvp_dist, 
    aletras(t1.hdd_cant) as c_hdd_unidad, 
    (SELECT tt1.descripcion 
     FROM sku_precios tt1 
     WHERE tt1.id_sku_precio = 'IPP --') as c_ip, 
==> (t1.ip_pvpt1.ip_polled_pvpt1.ip_custom_pvp) as c_ip_pvp, 
    (t1.ip_pvp_distt1.ip_polled_pvp_distt1.ip_custom_pvp_dist) as c_ip_pvp_dist, 
    t1.id_servidor_virtual as parent_id, 
    (SELECT COUNT(t2.id_servicio_adicional) 
     FROM servicios_adicionales t2 
     WHERE t2.id_servidor_virtual = t1.id_servidor_virtual) as cant_sa, 
    DATE_FORMAT(t2.f_inicio_contrato, '%d-%m-%Y') as f_inicio_contrato, 
    DATE_FORMAT(t2.f_fin_contrato, '%d-%m-%Y') as f_fin_contrato, 
    (SELECT tt2.n_pedido 
     FROM servidores_virtuales tt1 
     INNER JOIN pedidos tt2 ON tt2.id_pedido = tt1.id_pedido 
     WHERE tt1.id_servidor_virtual = t2.id_pedido_actualizado) as n_pedido_actualizado, 
    (SELECT t3.descuento 
     FROM albaranes t3 
     WHERE t3.id_pedido = t1.id_pedido 
     AND t3.id_cuenta_emisora = 2) as descuento 
FROM servidores_virtuales t1 
LEFT OUTER JOIN pedidos t2 ON t2.id_pedido = t1.id_pedido 
WHERE t1.id_pedido = 230; 

的錯誤是:

ERR] 1064 - 你有一個錯誤你的SQL語法;檢查對應於你的MySQL服務器版本的手冊正確的語法使用近「.ip_custom_pvp)爲c_ip_pvp,」在第32行

線32標有==>

你能幫我嗎?非常感謝

+1

這看起來很腥''t1.ip_pvpt1.ip_polled_pvpt1.ip_custom_pvp'以及't1.ip_pvp_distt1.ip_polled_pvp_distt1.ip_custom_pvp_dist'在下一行。 – Maku

+3

你可以告訴我們哪一行是32行,但這會破壞我們自己的喜悅。 –

+0

@阿爾瓦羅,這種「澳大利亞」幽默感(這是一種恭維話)。我已經明確指出第32行:-) – paxdiablo

回答

1
t1.ip_pvpt1.ip_polled_pvpt1.ip_custom_pvp 

你確定你不應該有一些其他的角色在裏面,例如像+-標誌?

這在我看來,這三個獨立列:

t1.ip_pvp t1.ip_polled_pvp t1.ip_custom_pvp 

應在一些其他的方式不僅僅是:-)

,唯一不是消除它們之間的空白被加入順便說一句,只是我第一次接受。下面一行也有一個。

原因MySQL的抱怨是,你顯然是在填充對象名稱(因此三寧兩個級別),其具有 .人物打破了schema.object命名標準。