spiderdrian
Usuario (México)
Hola hoy mostrare como unir o concatenar 2 campos en uno solo por medio de una consulta de sql, ojo baso mis consultas en MS SQL, puede que algunas funciones no sean validas para MYSQL u otros motores de bases de datos. Supongamos que tenemos una tabla con los siguientes campos Nombre de la Tabla: Ciudad Campos: id_Ciudad nvarchar(3) nonbre_ciudad nvarchar(50) Datos: 001 San Luis Potosi 002 Guanajuato 003 Aguascalientes Ahora para unirlas usaremos simplemente el operador "+", seria asi Select (id_ciudad + ' - ' + nombre_ciudad) as ciudad from ciudad El resultado seria masomenos así 001 - San Luis Potosi 002 - Guanajuato 003 - Aguascalientes Bueno así unimos los campos, pero resulta que existe un problemita, supongamos que el campo id_ciudad no es de tipo nvarchar(3) sino de tipo int, al ejecutar la consulta nos regresaría un error indicándonos que no se puede hacer la conversión y q no son compatibles, pues lo que hay que hacer es usar la siguiente función Cast( nombre_campo as tipo_dato) La consulta seria así Select (Cast(id_ciudad as nvarchar(3)) + ' - ' + nombre_ciudad) as ciudad from ciudad Con ello uniriamos un campo int con un campo nvarchar Bueno, je espero sea de utilidad, aunque comienzo a creer que posteo cosas q no sirven o q taringa no es el foro indicado para estos materiales, jejeje, se aceptan comentarios al respecto saludos.
Hola en este post mostrare como conectar una base de datos desde Visual Basic Net por medio de ODBC, espero que a alguien le sea de utilidad. '-------------------Primero Dleclaramos la coneccion recuerda cambiar los datos NombreDeBase, Usuario y Password Dim cnn As New Odbc.OdbcConnection("Dsn=NombreODBC;uid=Usuario;pwd=Password" ) Dim sql As String '----------------Se abre la coneccion cnn.Open() '----------------Escribimos la sentencia que se ejecutara sql = " SELECT COUNT(DISTINCT Id_Línea) AS Numero FROM FactoresComisiónProducto" '----------------Declaramos el ejecutor y el contenedor Dim rs As New Odbc.OdbcCommand(sql, cnn) Dim Tabla As Odbc.OdbcDataReader '---------------Se ejecuta y se asigna el resultado Tabla = rs.ExecuteReader '---------------En este caso sabemos q solo nos regresara un registro asi q lo leemeos, en caso de que sean varios habria que hacerlos '---------------con un ciclo Tabla.Read() '---------------Asignamos el campo a un objeto o variable ContadorLineas = Tabla("Numero" ) '---------------Cerramos todo Tabla.Close() cnn.Close() Bueno es todo en codigo, faltaria crear el Odbc, para eso tienen q ir a PAnel de COntrol,Herraientas Administrativas, Origen de datos, DNS del sistema, seleccionen el driver de la base de datos q usan y creen el odbc, el codigo es para visual 2008. Saludos
Hola hoy trataré de dar unos tips para sql, mostrare algunas funciones que me han servido y q no son las más comunes, así que en este post nos brincaremos las básicas como select, update, insert y delete, aunque no descarto postear algo sobre esos temas después, bueno comencemos. Primero mostrare una función para buscar por rangos de fechas, resulta que puedes encapsular rangos de fechas sin conocer los días de inicio y fin ahora les muestro. Imagínense que tenemos una tabla de Facturas, con campos como id,folio,importe,cliente y fecha y queremos ver lo facturado pero que el resultado nos lo muestre por semana, sabemos que la semana es de lunes a domingo pero ¿cómo realizar la agrupación?, pues resulta que existe una función para ello seria asi {fn week(FECHA)} el campo fecha seria reemplazado por el que quieren filtrar obviamente tiene que ser de tipo date, ahora un ejemplo Queremos las facturas de una semana en especial Select * From Facturas Where {fn week(fecha)}=1 Con esto nos mostrara todos los registros donde la semana sea igual a uno, pero eso mostrara todos los años, vamos a incluir el año Select * From Facturas Where {fn week(fecha)}=1 and {fn year(fecha)}=2011 De esta manera tenemos las facturas de la semana 1 del 2011, ahora saquemos lo facturado por semana para ello usaremos también la función sum() Select {fn week(fecha)},sum(importe) as importe From Facturas Where {fn year(fecha)}=2011 group by {fn week(fecha)} Esto nos regresara los importe semana con semana Un inconveniente a considerar es que en algunos casos puede ser un poco lento usarla función, pero los resultados valen la pena ya que pueden evitar muchas líneas de código. Espero sea de utilidad para alguien. P.D. También se puede por mes, seria {fn month(fecha)}, jeje saludos. Solo lo he probado en MS SQL , desconozco si funciona en MySQL u otros motores de bases de datos