FAQ
Gente:
perdón x el off-topic ;-)

Necesito hacer un select de una base MySQL pero que no me traiga los
clientes con CUIT duplicados.
La clave primaria es cod_cliente, pero puede ser que un cliente figure
varias veces, con datos distintos, pero con el mismo cuit
EL problema es que si hago un select distinct(cuit), cod_cliente,
domicilio.......etc me trae clientes repetidos.
La unica forma de que me traiga CUIT unicos es haciendo un SELECT DISTINCT
(cuit) from cliente
Pero yo necesito el resto de los datos tambien.

La unica forma es haciendo dos select no ?
O sea, primera obtengo una lista de CUIT unicos y por c/u traigo el resto de
los datos, haciendo LIMIT 0, 1 (para que me traiga el primer cliente que
encuentre)

Gracias...

Search Discussions

  • José Salomon Seoane Garcia at Apr 5, 2004 at 11:58 pm
    José Salomon Seoane Garcia wrote:

    no entendi bien la pregunta pero segun yo con distinct debe de
    funcionar pero intenta esto


    select cuit, count(*) as numero,cod_cliente,domicilio from nombre
    tablas group by cuit order by cod_cliente


    agrupa los registro por cuit no importa si aparecen 1 o mil veces los
    agrupa con el group by y con count te sirve para saer cuantas veces se
    repite.

    espero te sirva.
    -----------------------------
    Diego Juritz wrote:
    Gente:
    perdón x el off-topic ;-)

    Necesito hacer un select de una base MySQL pero que no me traiga los
    clientes con CUIT duplicados.
    La clave primaria es cod_cliente, pero puede ser que un cliente figure
    varias veces, con datos distintos, pero con el mismo cuit
    EL problema es que si hago un select distinct(cuit), cod_cliente,
    domicilio.......etc me trae clientes repetidos.
    La unica forma de que me traiga CUIT unicos es haciendo un SELECT
    DISTINCT
    (cuit) from cliente
    Pero yo necesito el resto de los datos tambien.

    La unica forma es haciendo dos select no ?
    O sea, primera obtengo una lista de CUIT unicos y por c/u traigo el
    resto de
    los datos, haciendo LIMIT 0, 1 (para que me traiga el primer cliente
    que
    encuentre)

    Gracias...

  • Gran Causa at Apr 6, 2004 at 5:31 pm
    La palabra DISTINCT trabaja sobre registros en un SELECT (no una función
    sobre campos como pretendes con los paréntesis que casualmente no te da
    error porque puedes poner un campo entre paréntesis).

    Lo que quieres hacer, tal vez sea un agrupamiento del resultado por el campo
    'cuit':
    SELECT cuit,cod_cliente,domicilio... GROUP BY cuit

    pero si dices que cod_cliente es la clave primaria y que pueden figurar
    varias veces entonces es que tienes mal diseñada tu estructura de base de
    datos. Por definición, si un campo es clave primaria no puede repetirse el
    valor del mismo...


    En Mon, 5 Apr 2004 12:48:35 -0300, escribiste en el grupo php.general.es


    Gente:
    perdón x el off-topic ;-)

    Necesito hacer un select de una base MySQL pero que no me traiga los
    clientes con CUIT duplicados.
    La clave primaria es cod_cliente, pero puede ser que un cliente figure
    varias veces, con datos distintos, pero con el mismo cuit
    EL problema es que si hago un select distinct(cuit), cod_cliente,
    domicilio.......etc me trae clientes repetidos.
    La unica forma de que me traiga CUIT unicos es haciendo un SELECT DISTINCT
    (cuit) from cliente
    Pero yo necesito el resto de los datos tambien.

    La unica forma es haciendo dos select no ?
    O sea, primera obtengo una lista de CUIT unicos y por c/u traigo el resto de
    los datos, haciendo LIMIT 0, 1 (para que me traiga el primer cliente que
    encuentre)

    Gracias...

    _________________________________________________________________
    Dale rienda suelta a tu tiempo libre. Encuentra mil ideas para exprimir tu
    ocio con MSN Entretenimiento. http://entretenimiento.msn.es/

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupphp-general-es @
categoriesphp
postedApr 5, '04 at 3:48p
activeApr 6, '04 at 5:31p
posts3
users3
websitephp.net

People

Translate

site design / logo © 2022 Grokbase