SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: Metodos Numericos en Martes 22 de Septiembre de 2009, 22:41

Título: Consulta SQL Union
Publicado por: Metodos Numericos en Martes 22 de Septiembre de 2009, 22:41
Hola a todos

tengo esta consulta SQL asi:

SQL = "SELECT HistoriaConsulta.*, EstadoPremio.Grafico " _
& "FROM (HistoriaConsulta INNER JOIN HistoriaFiguras ON HistoriaConsulta.Premio = HistoriaFiguras.Identificador) " _
& "INNER JOIN EstadoPremio ON HistoriaConsulta.Estado = EstadoPremio.id " _
& "WHERE (((HistoriaFiguras.Nombre)='" & LbSeleccion.Caption & "') AND ((HistoriaFiguras.juego)=" & DeterminarNumeroJuego & ")) " _
& "ORDER BY HistoriaConsulta.id"

Set RstCargar = Base.OpenRecordset(SQL, dbOpenDynaset

quiero realizarle una Union con esta Otra Consulta SQL

SQL = "SELECT * FROM Consecutivo "

Set RstCargar = Base.OpenRecordset(SQL, dbOpenDynaset
No se como lo hago

agradezco sus valiosas ayudas

Exitos
Título: Re: Consulta SQL Union
Publicado por: F_Tanori en Miércoles 23 de Septiembre de 2009, 11:21
La union se hace asi


Código: SQL
  1.  
  2. SELECT Campo1,Campo2 FROM Tabla1
  3. UNION
  4. SELECT Campo1,Campo2 FROM Tabla2
  5.  
  6.  

Ambas Consultas deben de tener el mismo numero de campos


Saludos
Título: Re: Consulta SQL Union
Publicado por: Metodos Numericos en Miércoles 23 de Septiembre de 2009, 16:53
Cita de: "F_Tanori"
La union se hace asi


Código: SQL
  1.  
  2. SELECT Campo1,Campo2 FROM Tabla1
  3. UNION
  4. SELECT Campo1,Campo2 FROM Tabla2
  5.  
  6.  

Ambas Consultas deben de tener el mismo numero de campos


Saludos


gracias y si los campos no son iguales por ejemplo si en la primera sentencia SQL tiene mas campos que en la Segunda, que metodo o propiedad me aconsejarias  :rolleyes:
Título: Re: Consulta SQL Union
Publicado por: F_Tanori en Miércoles 23 de Septiembre de 2009, 21:26
Pues una opcion es complementando la consulta que tiene menos campos


Suponiendo que la tabla1 tiene 4 compos
Código: XML
  1. Id Numerico, Descripcion Texto, Nota Texto, Precio Numerico Decimal
  2.  

La tabla 2 Solo tiene dos campos
Código: XML
  1. Id Numerico, Descripcion Texto
  2.  


La idea seria complementar los campos faltantes, creandole campos calculados a las segunda tabla, para que pueda unirse con la primera, logicamente deben de ser el mismo tipo de dato


Ejemplo:

Código: SQL
  1. SELECT Id, Descripcion, Nota, Precio FROM Tabla1
  2. UNION
  3. SELECT Id, Descripcion, '' AS 'Nota', 0.00 AS 'Precio' FROM Tabla2
  4.  

Como se pude notar en la segunda tabla, coloca una cadena vacia como el campo NOTA (ya que es texto en Tabla1) y 0 en el PRECIO ya que es numerico
de esta manera la union seria posible ya que tienene la misma cantidad de campos, con los tipos de datos correspondientes


Esta seria una opcion...

Saludos
Título: Re: Consulta SQL Union
Publicado por: Metodos Numericos en Jueves 24 de Septiembre de 2009, 00:10
Cita de: "F_Tanori"
Pues una opcion es complementando la consulta que tiene menos campos


Suponiendo que la tabla1 tiene 4 compos
Código: XML
  1. Id Numerico, Descripcion Texto, Nota Texto, Precio Numerico Decimal
  2.  

La tabla 2 Solo tiene dos campos
Código: XML
  1. Id Numerico, Descripcion Texto
  2.  


La idea seria complementar los campos faltantes, creandole campos calculados a las segunda tabla, para que pueda unirse con la primera, logicamente deben de ser el mismo tipo de dato


Ejemplo:

Código: SQL
  1. SELECT Id, Descripcion, Nota, Precio FROM Tabla1
  2. UNION
  3. SELECT Id, Descripcion, '' AS 'Nota', 0.00 AS 'Precio' FROM Tabla2
  4.  

Como se pude notar en la segunda tabla, coloca una cadena vacia como el campo NOTA (ya que es texto en Tabla1) y 0 en el PRECIO ya que es numerico
de esta manera la union seria posible ya que tienene la misma cantidad de campos, con los tipos de datos correspondientes


Esta seria una opcion...

Saludos



me queda bien claro y perfecta tu espicacion y para terminar ese mismo ejercicio hay otro comando que no sea de Union lo hay y como seria la sintaxis

de antemano gracias por tu explicaion

exitos