Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   tengo un codigo repetido en una consulta (https://www.clubdelphi.com/foros/showthread.php?t=44009)

narcisoplayero 25-05-2007 23:34:11

tengo un codigo repetido en una consulta
 
saludos colegas

cuando trata de correr esta consulta :

Código SQL [-]
SELECT a.cliente, a.dpto, a.familia, a.fecha, a.codigo, a.descripcion, a.cantidad,
 a.precio, a.impuesto, a.fraccion, a.serie, a.cntoferta, a.descuentop, a.impuestootro, 
a.costo, a.suplidor, b.suplidorid, b.desmercmae, b.cntultcpra, b.itbis, b.costoprome, 
b.fracpra, b.precventa, framercmae, fecultcpra FROM master a, master1 b
WHERE a.codigo = b.productid

me salen los codigos repetido pues las entrads de master no soniguales a las entradas de master1, en master1 se petipen los codigos mientras en master no se repiten y yo quiero el listado de master, pero solo quiero la consulta asi con los siguientes codigos:

Código SQL [-]
SELECT b.productid, a.impuesto, a.serie, b.suplidorid, b.desmercmae, b.cntultcpra, b.itbis, b.costoprome, b.fracpra, b.precventa, framercmae, fecultcpra FROM master b, master1 a
WHERE a.codigo = b.productid

pero que no se me repitan los codigos.

gracias

jhonny 25-05-2007 23:42:10

Y si antepones el Distinct?

Código SQL [-]
 
SELECT DISTINCT a.cliente, a.dpto, a.familia, a.fecha, a.codigo, a.descripcion, a.cantidad,
a.precio, a.impuesto, a.fraccion, a.serie, a.cntoferta, a.descuentop, a.impuestootro, 
a.costo, a.suplidor, b.suplidorid, b.desmercmae, b.cntultcpra, b.itbis, b.costoprome, 
b.fracpra, b.precventa, framercmae, fecultcpra FROM master a, master1 b
WHERE a.codigo = b.productid

Caral 25-05-2007 23:46:23

Hola
en algunas consultas, por lo menos en access:
Código SQL [-]
SELECT DISTINCTROW a.cliente, a.dpto, a.familia, a.fecha, a.codigo, a.descripcion, a.cantidad,
a.precio, a.impuesto, a.fraccion, a.serie, a.cntoferta, a.descuentop, a.impuestootro, 
a.costo, a.suplidor, b.suplidorid, b.desmercmae, b.cntultcpra, b.itbis, b.costoprome, 
b.fracpra, b.precventa, framercmae, fecultcpra FROM master a, master1 b
WHERE a.codigo = b.productid
Saludos

jhonny 25-05-2007 23:53:20

Creo que en FireBird 2.0 vi una sentencia cuya estructura es:

Cita:

<value> IS [NOT] DISTINCT FROM <value>
por ejemplo
Código SQL [-]
 
SELECT * FROM T1 JOIN T2 ON T1.NAME IS NOT DISTINCT FROM T2.NAME;
Que según entiendo puede hacer lo mismo que el DistinctRow de Acces.

narcisoplayero 26-05-2007 00:18:30

se repiten los codigos
 
con esta consulta se me repiten los codigos ya que las tablas son diferentes y tienen diferente entrads

Código SQL [-]
SELECT b.productid, a.impuesto, a.serie, b.suplidorid, b.desmercmae, 
b.cntultcpra, b.itbis, b.costoprome, b.fracpra, b.precventa, framercmae, fecultcpra 
FROM master b, master1 a
WHERE a.codigo = b.productid

jhonny 26-05-2007 00:23:55

Entonces coloca Distinct en esa consulta y nos cuentas como te va:

Código SQL [-]
SELECT distinct b.productid, a.impuesto, a.serie, b.suplidorid, 
b.desmercmae, b.cntultcpra, b.itbis, b.costoprome, b.fracpra, b.precventa, 
framercmae, fecultcpra 
FROM master b, master1 a
WHERE a.codigo = b.productid

Y una recomendación, usa siempre las etiquetas SQL, para que se entienda mejor tu codigo y no repitas Post.

Caral 26-05-2007 00:25:43

Hola
Es esencialmente lo mismo, cuando se repiten los datos en una consulta en la sentencia sql se coloca la palabra DISTINCT o DISTINCTROW despues del SELECT.
Con esto se elimina esa conducta.
Nota: Que yo sepa no influye la cantidad de tablas en la consulta.
Ahora si nos explicas a que te refieres con los codigos?
Saludos

narcisoplayero 26-05-2007 00:35:51

lo que me refiero con los codigos carlas es que son tipos de producto que estan una tabla de mercancias yla otra es una tabla de entrada de codigo y o quiero saber cuales de los producto se compra con itbis en la entrada y cuales tienen serie diferente de almacen.
en definitvia los codigso son los codigso de barra de cada producto.
y si tien mas de una entrada se me repiten las veces de entra que tenga y solo kiero los codigos sin repeteicion ya sea agrupado por codigo, pero trata de agruparlo y no me funciono.

Caral 26-05-2007 00:45:26

Hombre PlayeroNarciso
A lo que nos referimos tanto yo como Jhonny es al uso del DISTINCT en la sentencia.
Pregunto lo has probado?
Nota: Caral.:D , no es lo mismo, carlas.:p
Nota: narcisoplayero.:D no es lo mismo, PlayeroNarciso.:p
Saludos

narcisoplayero 26-05-2007 00:50:54

ya probe con distinct y como quiera me sale repetido los campos

Caral 26-05-2007 00:57:58

Hola
Me acuerdo de haber tenido un problema similar, creo que lo arregle con fechas, pero no estoy muy seguro.
Se me escapa de las manos el ayudarte, no se como hacerlo, espero soluciones tu problema, ten paciencia, algun maestro vera el hilo y te dara la solucion.
Saludos

jcdg83 04-06-2007 20:51:34

Ya probaste el GROUP BY productoid.


La franja horaria es GMT +2. Ahora son las 09:52:36.

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