2011-11-14 4 views
6

के साथ समस्याएं मेरे पास एक क्वेरी है जो SQL Server 2008 में ठीक काम करती है लेकिन जब मैं इसे MySQL के साथ उपयोग करने का प्रयास करता हूं, तो यह JOIN के साथ समस्याएं प्रतीत होता है।SQL सर्वर से MySQL तक हाइपर-बड़े पैमाने पर क्वेरी कनवर्ट करें - जॉइन

पहले त्रुटि

आप अपने एसक्यूएल वाक्य रचना में एक त्रुटि है; मैनुअल कि लाइन 52 "

यह कैसे कर सकते हैं पर 'पर faxcont.IDDireccion = dir_cont.RecID और faxcont.Tipo = 2 और faxcont.Defecto' सही वाक्य रचना के पास का उपयोग करने के लिए अपने सर्वर संस्करण से मेल खाती है की जाँच सही किया जाना

SELECT  req.RecID, req.FechaEntrega, req.IDUsuario AS RecIDResp, req.NroSucursal, req_dp.NroFila, req.ID, req.ID AS NroReq, emp.Empresa AS NombreEmpresa, 
req.IDFiscalSistema, req_dp.ImporteUnitario1, req_dp.ImporteUnitario2, req_dp.ImporteUnitario3, req_dp.ImporteUnitario4, req_dp.ImporteUnitario5, 
req_dp.ImporteUnitario6, req.NroMoneda, req_dp.SobrePrecio, req_dp.Impuesto AS TasaIVA, dir_emp_sist.CodPais AS CodPaisEmpresa, 
dir_emp_sist.CodCiudad AS CodCiudadEmpresa, tel.numero AS TelefonoEmpresa, fax.numero AS FaxEmpresa, mail_emp.Direccion AS MailEmpresa, 
emp_sist.SitioWeb AS WebEmpresa, dir_cont.CodPais AS CodPaisCont, dir_cont.CodCiudad AS CodCiudadCont, telcont.numero AS TelefonoCont, 
faxcont.numero AS FaxCont, req.FechaModificacion AS FechaGrabacion, cont.Apellido AS ApellidoCont, cont.Nombre AS NombreCont, mail_cont.Direccion AS MailCont, 
emp_sist.Empresa AS NombreEmpSist, fis_sist.RazonSocial AS RazonSocialSist, fis_sist.NroImpuesto1 AS CUIT, dir_fis_sist.Calle AS CalleFisSist, 
dir_fis_sist.Numero AS NroFisSist, dir_fis_sist.Piso AS PisoFisSist, dir_fis_sist.Dto AS DtoFisSist, dir_fis_sist.CP AS CPFisSist, dir_fis_sist.Localidad AS LocFisSist, 
dir_fis_sist.Ciudad AS CiudadFisSist, dir_fis_sist.Provincia AS ProvinciaFisSist, dir_fis_sist.Pais AS PaisFisSist, responsable.Nombre AS NombreResp, 
responsable.Apellido AS ApellidoResp, mail_resp.Direccion AS MailResp, dir_resp.CodPais AS CodPaisResp, dir_resp.CodCiudad AS CodCiudadResp, 
telresp.numero AS TelefonoResp, com.DireccionEntrega AS DirEntrega, CASE PATINDEX('%.%', req_dp.NroItem) WHEN 0 THEN '0' WHEN 2 THEN '1' END AS Item, 
CASE PATINDEX('%.%', req_dp.NroItem) WHEN 0 THEN req_dp.NroItem WHEN 2 THEN LEFT(req_dp.NroItem, 1) END AS Item2, req_dp.NroItem, req_dp.Codigo, 
req_dp.Descripcion, CASE WHEN req_dp.recid IS NULL 
THEN 0 WHEN req_dp.Estado = 9 THEN 0 ELSE (CASE mon.Numero WHEN 1 THEN req_dp.ImporteUnitario1 WHEN 2 THEN req_dp.ImporteUnitario2 WHEN 3 THEN req_dp.ImporteUnitario3 
WHEN 4 THEN req_dp.ImporteUnitario4 WHEN 5 THEN req_dp.ImporteUnitario5 WHEN 6 THEN req_dp.ImporteUnitario6 END) * ((100 - req_dp.Descuento)/100) 
* ((100 + req_dp.SobrePrecio)/100) END AS PrecioU, req_dp.Cantidad, 
(CASE mon.Numero WHEN 1 THEN req_dp.importeprecio1 WHEN 2 THEN req_dp.importeprecio2 WHEN 3 THEN req_dp.importeprecio3 WHEN 4 THEN req_dp.importeprecio4 
WHEN 5 THEN req_dp.importeprecio5 WHEN 6 THEN req_dp.importeprecio6 END) AS Importe, req_dp.Descuento AS DescProd, 
CASE WHEN req_dp.Descuento = 0 THEN 0 ELSE ((CASE mon.Numero WHEN 1 THEN req_dp.importeprecio1 WHEN 2 THEN req_dp.importeprecio2 WHEN 3 THEN req_dp.importeprecio3 
WHEN 4 THEN req_dp.importeprecio4 WHEN 5 THEN req_dp.importeprecio5 WHEN 6 THEN req_dp.importeprecio6 END) 
- ((req_dp.Descuento * (CASE mon.Numero WHEN 1 THEN req_dp.importeprecio1 WHEN 2 THEN req_dp.importeprecio2 WHEN 3 THEN req_dp.importeprecio3 WHEN 4 
THEN req_dp.importeprecio4 WHEN 5 THEN req_dp.importeprecio5 WHEN 6 THEN req_dp.importeprecio6 END)/100))) 
- (CASE mon.Numero WHEN 1 THEN req_dp.importeprecio1 WHEN 2 THEN req_dp.importeprecio2 WHEN 3 THEN req_dp.importeprecio3 WHEN 4 THEN req_dp.importeprecio4 
WHEN 5 THEN req_dp.importeprecio5 WHEN 6 THEN req_dp.importeprecio6 END) END AS ImpDescXProd, req.SubTotal, req.Descuento AS PorcDescGral, 
req.SubTotal - req.SubTotal * ((100 - req.Descuento)/100) AS DescuentoGral, req.SubTotal2 AS SubTotalConDto, req.Impuesto AS IVA, req.Total, mon.Simbolo, 
mon.Moneda, req.ID AS NroRequerimiento, req.MostrarImpuestos, 
CASE req.MostrarImpuestos WHEN 1 THEN 'Los valores están expresados en ' + mon.Moneda + '. Incluyen IVA.' WHEN 0 THEN 'Los valores están expresados en ' + mon.Moneda 
+ '. No incluyen IVA.' END AS LeyendaIVA, com.CondicionesPago AS CondPago, com.FormaPago, com.PlazoEntrega, com.HorarioEntrega, com_t.Tipo AS TipoTransp, 
com_t.valor AS TranspPropio, emp_t.Empresa AS EmpTransp, fis_t.RazonSocial AS RazSocTransp, com.PrecioEnvio, adi.Campo1 AS Adi1, adi.Campo2 AS Adi2, 
adi.Campo3 AS Adi3, adi.Campo4 AS Adi4, adi.Campo5 AS Adi5, adi.Campo6 AS Adi6, adi.Campo7 AS Adi7, adi.Campo8 AS Adi8, adi.Campo9 AS Adi9, 
adi.Campo10 AS Adi10, adi.Campo11 AS Adi11, adi.Campo12 AS Adi12, adi.Campo13 AS Adi13, adi.Campo14 AS Adi14, adi.Campo15 AS Adi15, adi.Campo16 AS Adi16, 
adi.Campo17 AS Adi17, adi.Campo18 AS Adi18, adi.Campo19 AS Adi19, adi.Campo20 AS Adi20, ped_1.IDRequerimiento AS IDPed, ped2_1.RecID AS IDPed2, 
ped3.RecID AS IDPed3, req_dp.Notas, req.Descuento AS DesReq, req_dp.Descuento AS DescProd, cont.IDContacto AS RecidContReq, usu.RecID AS RecidContResp, 
direcciones.Calle, direcciones.Numero, direcciones.Piso, direcciones.Dto, direcciones.Torre, direcciones.CP, direcciones.Ciudad, direcciones.Provincia, 
direcciones.Pais, direcciones.Defecto AS Dir_Cont_Defecto, direcciones.RecID AS Dir_Cont_Recid 
FROM   telefonos AS faxcont RIGHT OUTER JOIN 
telefonos AS telcont RIGHT OUTER JOIN 
direcciones AS dir_cont RIGHT OUTER JOIN 
fiscal AS fis_sist INNER JOIN 
requerimientos AS req INNER JOIN 
requerimientositems AS req_dp ON req.RecID = req_dp.IDRequerimiento INNER JOIN 
moneda AS mon ON req.NroMoneda = mon.Numero INNER JOIN 
contactos AS cont ON req.IDRef = cont.IDContacto INNER JOIN 
empresas AS emp ON cont.IDEmpresa = emp.IDEmpresa ON fis_sist.RecID = req.IDFiscalSistema INNER JOIN 
empresas AS emp_sist ON fis_sist.IDref = emp_sist.IDEmpresa LEFT OUTER JOIN 
direcciones ON emp.IDEmpresa = direcciones.idref LEFT OUTER JOIN 
contactos AS responsable INNER JOIN 
usuarios AS usu ON responsable.IDContacto = usu.IDContacto ON req.IDUsuario = usu.RecID LEFT OUTER JOIN 
direccionescorreo AS mail_resp ON responsable.IDContacto = mail_resp.IDref AND mail_resp.Defecto = 1 LEFT OUTER JOIN 
direcciones AS dir_emp_sist ON emp_sist.IDEmpresa = dir_emp_sist.idref AND dir_emp_sist.Defecto = 1 LEFT OUTER JOIN 
direcciones AS dir_fis_sist ON fis_sist.IDDireccion = dir_fis_sist.RecID ON dir_cont.idref = cont.IDContacto ON telcont.IDDireccion = dir_cont.RecID AND 
telcont.Tipo = 3 AND telcont.Defecto = 1 ON faxcont.IDDireccion = dir_cont.RecID AND faxcont.Tipo = 2 AND faxcont.Defecto = 1 LEFT OUTER JOIN 
direccionescorreo AS mail_cont ON cont.IDContacto = mail_cont.IDref AND mail_cont.Defecto = 1 LEFT OUTER JOIN 
direcciones AS dir_resp ON responsable.IDContacto = dir_resp.idref AND dir_resp.Defecto = 1 LEFT OUTER JOIN 
telefonos AS telresp ON responsable.IDContacto = telresp.IDref2 AND telresp.Tipo = 3 AND telresp.Defecto = 1 LEFT OUTER JOIN 
comercial AS com ON req.RecID = com.idref LEFT OUTER JOIN 
comercialtransportes AS com_t ON com.RecID = com_t.idref LEFT OUTER JOIN 
empresas AS emp_t ON com_t.IDEmpresa = emp_t.IDEmpresa LEFT OUTER JOIN 
fiscal AS fis_t ON emp_t.IDEmpresa = fis_t.IDref AND fis_t.Defecto = 1 LEFT OUTER JOIN 
adicional AS adi ON req.RecID = adi.IDRef LEFT OUTER JOIN 
telefonos AS tel ON dir_emp_sist.RecID = tel.IDDireccion AND tel.Tipo = 5 AND tel.Defecto = 1 LEFT OUTER JOIN 
telefonos AS fax ON dir_emp_sist.RecID = fax.IDDireccion AND fax.Tipo = 7 AND fax.Defecto = 1 LEFT OUTER JOIN 
direccionescorreo AS mail_emp ON emp_sist.IDEmpresa = mail_emp.IDref AND mail_emp.Defecto = 1 LEFT OUTER JOIN 
(SELECT  IDRequerimiento 
FROM   pedidos AS ped 
GROUP BY IDRequerimiento) AS ped_1 ON req.RecID = ped_1.IDRequerimiento LEFT OUTER JOIN 
(SELECT  RecID 
FROM   pedidos AS ped2 
GROUP BY RecID) AS ped2_1 ON req.IDPedido = ped2_1.RecID LEFT OUTER JOIN 
requerimientositemsclientes AS req_dp_cli ON req_dp.RecID = req_dp_cli.IDReqProd LEFT OUTER JOIN 
pedidositems AS ped_dp ON req_dp_cli.IDPedProd = ped_dp.RecID LEFT OUTER JOIN 
pedidos AS ped3 ON ped_dp.IDPedido = ped3.RecID 
WHERE  (req.RecID = '{?ID}') 
ORDER BY req_dp.NroFila 

संपादित

स्वरूपित कोड नीचे संलग्न, इस्तेमाल किया http://sqlformat.appspot.com:

SELECT req.RecID, 
     req.FechaEntrega, 
     req.IDUsuario AS RecIDResp, 
     req.NroSucursal, 
     req_dp.NroFila, 
     req.ID, 
     req.ID AS NroReq, 
     emp.Empresa AS NombreEmpresa, 
     req.IDFiscalSistema, 
     req_dp.ImporteUnitario1, 
     req_dp.ImporteUnitario2, 
     req_dp.ImporteUnitario3, 
     req_dp.ImporteUnitario4, 
     req_dp.ImporteUnitario5, 
     req_dp.ImporteUnitario6, 
     req.NroMoneda, 
     req_dp.SobrePrecio, 
     req_dp.Impuesto AS TasaIVA, 
     dir_emp_sist.CodPais AS CodPaisEmpresa, 
     dir_emp_sist.CodCiudad AS CodCiudadEmpresa, 
     tel.numero AS TelefonoEmpresa, 
     fax.numero AS FaxEmpresa, 
     mail_emp.Direccion AS MailEmpresa, 
     emp_sist.SitioWeb AS WebEmpresa, 
     dir_cont.CodPais AS CodPaisCont, 
     dir_cont.CodCiudad AS CodCiudadCont, 
     telcont.numero AS TelefonoCont, 
     faxcont.numero AS FaxCont, 
     req.FechaModificacion AS FechaGrabacion, 
     cont.Apellido AS ApellidoCont, 
     cont.Nombre AS NombreCont, 
     mail_cont.Direccion AS MailCont, 
     emp_sist.Empresa AS NombreEmpSist, 
     fis_sist.RazonSocial AS RazonSocialSist, 
     fis_sist.NroImpuesto1 AS CUIT, 
     dir_fis_sist.Calle AS CalleFisSist, 
     dir_fis_sist.Numero AS NroFisSist, 
     dir_fis_sist.Piso AS PisoFisSist, 
     dir_fis_sist.Dto AS DtoFisSist, 
     dir_fis_sist.CP AS CPFisSist, 
     dir_fis_sist.Localidad AS LocFisSist, 
     dir_fis_sist.Ciudad AS CiudadFisSist, 
     dir_fis_sist.Provincia AS ProvinciaFisSist, 
     dir_fis_sist.Pais AS PaisFisSist, 
     responsable.Nombre AS NombreResp, 
     responsable.Apellido AS ApellidoResp, 
     mail_resp.Direccion AS MailResp, 
     dir_resp.CodPais AS CodPaisResp, 
     dir_resp.CodCiudad AS CodCiudadResp, 
     telresp.numero AS TelefonoResp, 
     com.DireccionEntrega AS DirEntrega, 
     CASE PATINDEX('%.%', req_dp.NroItem) 
      WHEN 0 THEN '0' 
      WHEN 2 THEN '1' 
     END AS Item, 
     CASE PATINDEX('%.%', req_dp.NroItem) 
      WHEN 0 THEN req_dp.NroItem 
      WHEN 2 THEN LEFT(req_dp.NroItem, 1) 
     END AS Item2, 
     req_dp.NroItem, 
     req_dp.Codigo, 
     req_dp.Descripcion, 
     CASE 
      WHEN req_dp.recid IS NULL THEN 0 
      WHEN req_dp.Estado = 9 THEN 0 
      ELSE (CASE mon.Numero 
        WHEN 1 THEN req_dp.ImporteUnitario1 
        WHEN 2 THEN req_dp.ImporteUnitario2 
        WHEN 3 THEN req_dp.ImporteUnitario3 
        WHEN 4 THEN req_dp.ImporteUnitario4 
        WHEN 5 THEN req_dp.ImporteUnitario5 
        WHEN 6 THEN req_dp.ImporteUnitario6 
       END) * ((100 - req_dp.Descuento)/100) * ((100 + req_dp.SobrePrecio)/100) 
     END AS PrecioU, 
     req_dp.Cantidad, 
     (CASE mon.Numero 
      WHEN 1 THEN req_dp.importeprecio1 
      WHEN 2 THEN req_dp.importeprecio2 
      WHEN 3 THEN req_dp.importeprecio3 
      WHEN 4 THEN req_dp.importeprecio4 
      WHEN 5 THEN req_dp.importeprecio5 
      WHEN 6 THEN req_dp.importeprecio6 
     END) AS Importe, 
     req_dp.Descuento AS DescProd, 
     CASE 
      WHEN req_dp.Descuento = 0 THEN 0 
      ELSE ((CASE mon.Numero WHEN 1 THEN req_dp.importeprecio1 WHEN 2 THEN req_dp.importeprecio2 WHEN 3 THEN req_dp.importeprecio3 WHEN 4 THEN req_dp.importeprecio4 WHEN 5 THEN req_dp.importeprecio5 WHEN 6 THEN req_dp.importeprecio6 END) - ((req_dp.Descuento * (CASE mon.Numero WHEN 1 THEN req_dp.importeprecio1 WHEN 2 THEN req_dp.importeprecio2 WHEN 3 THEN req_dp.importeprecio3 WHEN 4 THEN req_dp.importeprecio4 WHEN 5 THEN req_dp.importeprecio5 WHEN 6 THEN req_dp.importeprecio6 END)/100))) - (CASE mon.Numero 
                                                                                                                                  WHEN 1 THEN req_dp.importeprecio1 
                                                                                                                                  WHEN 2 THEN req_dp.importeprecio2 
                                                                                                                                  WHEN 3 THEN req_dp.importeprecio3 
                                                                                                                                  WHEN 4 THEN req_dp.importeprecio4 
                                                                                                                                  WHEN 5 THEN req_dp.importeprecio5 
                                                                                                                                  WHEN 6 THEN req_dp.importeprecio6 
                                                                                                                                 END) 
     END AS ImpDescXProd, 
     req.SubTotal, 
     req.Descuento AS PorcDescGral, 
     req.SubTotal - req.SubTotal * ((100 - req.Descuento)/100) AS DescuentoGral, 
            req.SubTotal2 AS SubTotalConDto, 
            req.Impuesto AS IVA, 
            req.Total, 
            mon.Simbolo, 
            mon.Moneda, 
            req.ID AS NroRequerimiento, 
            req.MostrarImpuestos, 
            CASE req.MostrarImpuestos 
             WHEN 1 THEN 'Los valores están expresados en ' + mon.Moneda + '. Incluyen IVA.' 
             WHEN 0 THEN 'Los valores están expresados en ' + mon.Moneda + '. No incluyen IVA.' 
            END AS LeyendaIVA, 
            com.CondicionesPago AS CondPago, 
            com.FormaPago, 
            com.PlazoEntrega, 
            com.HorarioEntrega, 
            com_t.Tipo AS TipoTransp, 
            com_t.valor AS TranspPropio, 
            emp_t.Empresa AS EmpTransp, 
            fis_t.RazonSocial AS RazSocTransp, 
            com.PrecioEnvio, 
            adi.Campo1 AS Adi1, 
            adi.Campo2 AS Adi2, 
            adi.Campo3 AS Adi3, 
            adi.Campo4 AS Adi4, 
            adi.Campo5 AS Adi5, 
            adi.Campo6 AS Adi6, 
            adi.Campo7 AS Adi7, 
            adi.Campo8 AS Adi8, 
            adi.Campo9 AS Adi9, 
            adi.Campo10 AS Adi10, 
            adi.Campo11 AS Adi11, 
            adi.Campo12 AS Adi12, 
            adi.Campo13 AS Adi13, 
            adi.Campo14 AS Adi14, 
            adi.Campo15 AS Adi15, 
            adi.Campo16 AS Adi16, 
            adi.Campo17 AS Adi17, 
            adi.Campo18 AS Adi18, 
            adi.Campo19 AS Adi19, 
            adi.Campo20 AS Adi20, 
            ped_1.IDRequerimiento AS IDPed, 
            ped2_1.RecID AS IDPed2, 
            ped3.RecID AS IDPed3, 
            req_dp.Notas, 
            req.Descuento AS DesReq, 
            req_dp.Descuento AS DescProd, 
            cont.IDContacto AS RecidContReq, 
            usu.RecID AS RecidContResp, 
            direcciones.Calle, 
            direcciones.Numero, 
            direcciones.Piso, 
            direcciones.Dto, 
            direcciones.Torre, 
            direcciones.CP, 
            direcciones.Ciudad, 
            direcciones.Provincia, 
            direcciones.Pais, 
            direcciones.Defecto AS Dir_Cont_Defecto, 
            direcciones.RecID AS Dir_Cont_Recid 
FROM telefonos AS faxcont 
RIGHT OUTER JOIN telefonos AS telcont 
RIGHT OUTER JOIN direcciones AS dir_cont 
RIGHT OUTER JOIN fiscal AS fis_sist 
INNER JOIN requerimientos AS req 
INNER JOIN requerimientositems AS req_dp ON req.RecID = req_dp.IDRequerimiento 
INNER JOIN moneda AS mon ON req.NroMoneda = mon.Numero 
INNER JOIN contactos AS cont ON req.IDRef = cont.IDContacto 
INNER JOIN empresas AS emp ON cont.IDEmpresa = emp.IDEmpresa ON fis_sist.RecID = req.IDFiscalSistema 
INNER JOIN empresas AS emp_sist ON fis_sist.IDref = emp_sist.IDEmpresa 
LEFT OUTER JOIN direcciones ON emp.IDEmpresa = direcciones.idref 
LEFT OUTER JOIN contactos AS responsable 
INNER JOIN usuarios AS usu ON responsable.IDContacto = usu.IDContacto ON req.IDUsuario = usu.RecID 
LEFT OUTER JOIN direccionescorreo AS mail_resp ON responsable.IDContacto = mail_resp.IDref 
AND mail_resp.Defecto = 1 
LEFT OUTER JOIN direcciones AS dir_emp_sist ON emp_sist.IDEmpresa = dir_emp_sist.idref 
AND dir_emp_sist.Defecto = 1 
LEFT OUTER JOIN direcciones AS dir_fis_sist ON fis_sist.IDDireccion = dir_fis_sist.RecID ON dir_cont.idref = cont.IDContacto ON telcont.IDDireccion = dir_cont.RecID 
AND telcont.Tipo = 3 
AND telcont.Defecto = 1 ON faxcont.IDDireccion = dir_cont.RecID 
AND faxcont.Tipo = 2 
AND faxcont.Defecto = 1 
LEFT OUTER JOIN direccionescorreo AS mail_cont ON cont.IDContacto = mail_cont.IDref 
AND mail_cont.Defecto = 1 
LEFT OUTER JOIN direcciones AS dir_resp ON responsable.IDContacto = dir_resp.idref 
AND dir_resp.Defecto = 1 
LEFT OUTER JOIN telefonos AS telresp ON responsable.IDContacto = telresp.IDref2 
AND telresp.Tipo = 3 
AND telresp.Defecto = 1 
LEFT OUTER JOIN comercial AS com ON req.RecID = com.idref 
LEFT OUTER JOIN comercialtransportes AS com_t ON com.RecID = com_t.idref 
LEFT OUTER JOIN empresas AS emp_t ON com_t.IDEmpresa = emp_t.IDEmpresa 
LEFT OUTER JOIN fiscal AS fis_t ON emp_t.IDEmpresa = fis_t.IDref 
AND fis_t.Defecto = 1 
LEFT OUTER JOIN adicional AS adi ON req.RecID = adi.IDRef 
LEFT OUTER JOIN telefonos AS tel ON dir_emp_sist.RecID = tel.IDDireccion 
AND tel.Tipo = 5 
AND tel.Defecto = 1 
LEFT OUTER JOIN telefonos AS fax ON dir_emp_sist.RecID = fax.IDDireccion 
AND fax.Tipo = 7 
AND fax.Defecto = 1 
LEFT OUTER JOIN direccionescorreo AS mail_emp ON emp_sist.IDEmpresa = mail_emp.IDref 
AND mail_emp.Defecto = 1 
LEFT OUTER JOIN 
    (SELECT IDRequerimiento 
    FROM pedidos AS ped 
    GROUP BY IDRequerimiento) AS ped_1 ON req.RecID = ped_1.IDRequerimiento 
LEFT OUTER JOIN 
    (SELECT RecID 
    FROM pedidos AS ped2 
    GROUP BY RecID) AS ped2_1 ON req.IDPedido = ped2_1.RecID 
LEFT OUTER JOIN requerimientositemsclientes AS req_dp_cli ON req_dp.RecID = req_dp_cli.IDReqProd 
LEFT OUTER JOIN pedidositems AS ped_dp ON req_dp_cli.IDPedProd = ped_dp.RecID 
LEFT OUTER JOIN pedidos AS ped3 ON ped_dp.IDPedido = ped3.RecID 
WHERE (req.RecID = '{?ID}') 
ORDER BY req_dp.NroFila 
+13

ओएमजी! वह पागल है –

+0

यह 'जॉइन की – Clive

+0

' के लिए किसी प्रकार का रिकॉर्ड होना चाहिए, मैंने बहुत बुरा देखा है;) हालांकि आमतौर पर दूसरों के लिए सार्वजनिक साइटों पर पोस्ट नहीं किया जाता है! –

उत्तर

13

पहले दो तालिकाओं के साथ प्रारंभ और उन्हें एक साथ शामिल होने के -

requerimientos AS req INNER JOIN 
requerimientositems AS req_dp ON req.RecID = req_dp.IDRequerimiento' 

है कि अगर काम करता है (एक प्रश्न लिखने [यानी परीक्षण] जिसमें दोनों टेबल शामिल हैं और सुनिश्चित करें कि यह ठीक है) अगले में जोड़ें -

requerimientos AS req INNER JOIN 
requerimientositems AS req_dp ON req.RecID = req_dp.IDRequerimiento INNER JOIN 
moneda AS mon ON req.NroMoneda = mon.Numero INNER JOIN 
contactos AS cont ON req.IDRef = cont.IDContacto 

और दोहराना।


यह एक छोटे से प्रयास लग सकता है लेकिन यह एक चुस्त दृष्टिकोण है कि बहुत आगे जाने आपकी सहायता करेगा है।
'विशेष रूप से है कि थोड़े पास्ता के साथ;)

अगर वह काम करता है और/या आप एक बड़ा कूद की कोशिश करना, कोशिश सिर्फ उन subselects हटाने, देखना यह है कि यदि मुद्दा है चाहता हूँ:
निकालें:

LEFT OUTER JOIN 
    (SELECT IDRequerimiento 
    FROM pedidos AS ped 
    GROUP BY IDRequerimiento) AS ped_1 ON req.RecID = ped_1.IDRequerimiento 
LEFT OUTER JOIN 
    (SELECT RecID 
    FROM pedidos AS ped2 
    GROUP BY RecID) AS ped2_1 ON req.IDPedido = ped2_1.RecID 

अंत में, वास्तविक त्रुटि नोटिस के आधार पर, यहां देखें: !!!

AND telcont.Tipo = 3 
AND telcont.Defecto = 1 ON faxcont.IDDireccion = dir_cont.RecID 
AND faxcont.Tipo = 2 

कि ON के लिए कोई तालिका?

+0

यहां आपके पास पूरी क्वेरी है ... बस मस्ती के लिए !!! – Eleonora

+0

अब आपको मज़े के लिए क्वेरी पूरी करनी है! कृपया मेरी मदद करें! – Eleonora

+0

ग्रेट, धन्यवाद! मैंने आपको ON के बारे में संकेत दिया है लेकिन आपने कोई फॉलोअप इंगित नहीं किया है। हम एसओ पर मार्गदर्शन के साथ मदद करते हैं, लेकिन हम इस तरह के बड़े प्रश्नों को फिर से लिखते नहीं हैं। सामान का यह स्तर आमतौर पर भुगतान किया जाता है (लागत बहुत कम होती है)। एकमात्र चीज जिसे मैं वास्तव में पेशकश कर सकता हूं (ईमानदारी से मदद करने की कोशिश करता हूं) आपके और अन्य पोस्टर्स के लिए http://sqlize.com/ है जहां लोग प्रश्नों का प्रयास कर सकते हैं। यह jsfiddle की तरह है। आप टेबल भी बना सकते हैं! –

संबंधित मुद्दे