Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-09-2005
Avatar de sakuragi
sakuragi sakuragi is offline
Miembro
 
Registrado: feb 2004
Ubicación: root
Posts: 1.435
Poder: 24
sakuragi Va por buen camino
gracias de nuevo

ya intente

hacer una tabla temporal

haciendo varios insert con su determinado select


pero el problema que tengo es que si son varios

me los va metiendo

pero me va dejando espasion null

por que primero me hace uno y despues el otro.


despues quise probar con un procedure

el primero si me lo inserte

los de mas con update para los campos que esten e null me los actulize el problema que el update tiene que ser referencia a algo. entonses me quede en las mismas otraves =S

ppor que si dejo ai la tabla con los null

ahora me meto en otra cuestion

quitar en una consulta en esa tabla los repetidos de cada columna

Código SQL [-]
 select distinct nom_cliente from temporal
asi no ahi problema

pero asi:
Código SQL [-]
 select distinct nom_cliente, distinct nom_proveedor from temporal

no se puede =S
__________________
OpenSuse OpenOffice.org icomputo
Responder Con Cita
  #2  
Antiguo 01-10-2005
MaSSaKKre MaSSaKKre is offline
Miembro
 
Registrado: sep 2005
Posts: 34
Poder: 0
MaSSaKKre Va por buen camino
pues bue,...

opino lo mismo que el compañero Neftali.
Debes de tener un campo que te relacione las tablas, sino nunca le vas a poder unir los datos.
Te recomiendo que leas un poco sobre Base de Datos Relacionales y Las Formas Normales, para que logres comprender realmente como relacionar las tablas por medios de un campo.

Como tu dices, quizas las tablas sean totalmente distintas y no tengan nada que ver, pero un campo las puede relacionar.

Ejemplo:

Tabla
Articulo
ID_Art, ID_Marca, Precio

Tabla Marca
ID_Marca, ID_Proveedor,

Tabla Proveedor
ID_Proveedor,Direccion, Telefono, Estado, Mail

Tabla Clientes
N.Cliente, ID_Articulo, nombre, direccion, telefono


ahi podrias hacer una consulta donde te dijera:

El Cliente "X" compro el Articulo "Y" correspondiente a la Marca "Q" con precio "Z", vendida por el porveedor "L"

Select N.cliente,ID_Articulo, nombre, ID_Art, ID_Marca.Articulo, ID-Marca.Marca,Precio,ID_Proveedor.Marca,ID_Proveedor.Proveedor
from Articulo, Marca, Proveedor, Clientes
Where ID_Articulo = ID_Art and ID-Marca.Marca=ID-Marca.Articulo And ID_Proveedor.Marca=ID_Proveedor.Proveedor


cuando aplicas las formas normales en la creacion de tus tablas, estaras depurando tu tabla y salvandola de la repeticion innecesaria de datos, solo con un identificador puedes hacer referencias a otros datos en lugar de almacenar miles de veces el mismo dato en distintas tablas.

Espero haberte orientado un poco, se que no te resolvi tu duda, pero creo que tu problema viene desde la raiz, desde lo fundamental que son las Formas Normales.

Saludos
Responder Con Cita
  #3  
Antiguo 03-10-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.442
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por sakuragi
...pero el problema que tengo es que si son varios me los va metiendo pero me va dejando espasion null. Por que primero me hace uno y despues el otro.
Me refería a combinar INSERT/UPDATE (tal vez no me expliqué bien).

articulo___cliente____proveedor
------------------------------
leche______pepe_______movistar
paste _____juan_______telmex
pan _______ruperto ___unefon
...

Se trataría de hacer un recorrido por las tres tablas a la vez y realizar el INSERT de la primera, algo así:

Código SQL [-]
   insert into TablaTemp (articulo, cliente, proveedor) values ('leche', NULL, NULL)

Y luego los dos updates de las siguientes:

Código SQL [-]
   update TT set cliente='Cliente'  where articulo='leche'
   // BIS para el otro, o incluso hacerlos los dos juntos.

De todas formas como te he dicho , no le veo sentido a ésto, ya que no tienen ningun órden. Las tablas deberían estar relacionadas, sino lo único que consigues es una mezcla de datos sin sentido.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 12:58:33.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi