Problema con inner join

Hola.. Me gustaría saber si me puedes ayudar con este problemita.. Veras tengo 3 tablas con distintos valores que quiero mostrar en un gridview (estoy programando en visual basic.net) pero estas se relacionan de la siguiente manera:
Tablas Columna
sm3guia y sm3ped num_ref (en ambas tienen el mismo nombre)
sm3ped y cmcli                    sm3ped.rfccte y cmcli.rfc
ok..  Estoy haciendo un inner join donde selecciono específicamente ciertas las columnas que quiero mostrar(ya que no quiero mostrarlas todas), entonces tengo lo siguiente en el inner join:
SELECT cmcli.NOMCLI, sm3ped.NUM_REF, sm3ped.REGIMEN, sm3ped.CVEPEDIM, sm3ped.NUM_PED, sm3ped.FEC_PAG, sm3ped.VALADUANA,SM3GUIA.NUMGUIA FROM SM3GUIA CROSS JOIN ((sm3ped CROSS JOIN cmcli ON sm3ped.RFCCTE=cmcli.RFC) ON sm3ped.NUM_REF=SM3GUIA.NUM_REF) WHERE (sm3ped.NUM_REF="' & txtbuscar.Text & '")       
Pero no logro hacer esto.. ¿me puedes ayudar mínimo diciéndome que tengo mal en ese pedazo? También escuche algo sobre usar parámetros.. ¿me podrías dar un ejemplo utilizando mis tablas? Es que no le entiendo.. De antemano.. Gracias..

1 respuesta

Respuesta
1
La notación correcta sería así:
SELECT cmcli.NOMCLI, sm3ped.NUM_REF, sm3ped.REGIMEN, sm3ped.CVEPEDIM, 
             sm3ped. NUM_PED, sm3ped. FEC_PAG, sm3ped. Valaduana, sm3guia. NUMGUIA 
FROM   sm3ped INNER JOIN 
            SM3GUIA ON SM3GUIA.NUM_REF=sm3ped.NUM_REF INNER JOIN
            cmccli ON sm3ped.RFCCTE=cmcli.RFC
WHERE (sm3ped.NUM_REF='" & txtbuscar.Text & "')
comilla simple parqa que quede dentro de la cadena   
sm3ped.NUM_REF='010/1234' por ejemplo
En el from siempre va:
FROM tablaprincipal  INNER JOIN
 otra_tabla ON campos de relacion INNER JOIN
Otra_tabla_mas ON campos de relacion
parametros en este caso no, sería necesario si utilizas una función de sql en ese caso ejecutarias la instruccion
select cmcli.NOMCLI, sm3ped.NUM_REF, sm3ped.REGIMEN, sm3ped.CVEPEDIM, 
             sm3ped.NUM_PED, sm3ped.FEC_PAG, sm3ped.VALADUANA,SM3GUIA.NUMGUIA
from  mifuncion ('" & txtbuscar.Text & "')
Primero tendrías que hacer la función de SQL en la base de datos
luego con esta instrucción le pasas el parámetro de la fecha y dentro de la función haces el select pero en este caso es mucho más complicado y no te da ningún beneficio
espero que te sirva

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas