Duda con Join

08/05/2006 - 18:16 por Mercedes | Informe spam
Buenas Tardes
Tengo 2 tablas las cuales son como estas:

<TablaAgr>
Llanta
Llanta Renov

<TablaDatos>
Llanta Continental
Llanta Radial
Llanta Continental
Llanta Renov

Estoy haciendo un join en el cual tomo como base la <TablaAgr> necesito que
de el
total de elementos que tengo en la <tablaDatos>,lo que hago es un like pero
al elegir que me tome todos los que comienzan con Llanta toma tambien las
Llanta Renov y estas no las requiero que se tomen en cuenta, ya que esta
dentro de otra agrupacion
¿Como le puedo hacer?

Consulta:
SELECT TablaAgr.Desc , TablaDatos.Desc
FROM TablaDatos INNER JOIN TablaAgr ON TablaAgr.Desc LIKE TablaDatos.Desc
+ '%'
GROUP BY TablaAgr.Desc , TablaDatos.Desc


<TablaAgr > <TablaDatos>

Llanta Llanta Continental
Llanta Llanta Radial
Llanta Llanta Continental
Llanta Llanta Renov(*)

Llanta Renov Llanta Renov

(*) Este elemento no lo requiero ya que pertenece al otra agrupacion.

Preguntas similare

Leer las respuestas

#1 Penta
08/05/2006 - 18:24 | Informe spam
Hola.
Primero que todo, eso datos deberian estar codificados, asi no tendrias
este problema y la consulta seria mucho mas rapida.

Segundo, si no puedes codificarlo podrias agregar a la misma consulta (
al final ) un :

AND NOT LIKE 'Llanta Renov%'

Salu2.
Penta.
Respuesta Responder a este mensaje
#2 Mercedes
08/05/2006 - 18:35 | Informe spam
Pero requiero el total de Llantas(sin llantas Renov) y el de Llantas Renov al
hacer lo que me indicas solo queda el total de Llantas.

Muchas gracias por tu comentario.

"Penta" wrote:

Hola.
Primero que todo, eso datos deberian estar codificados, asi no tendrias
este problema y la consulta seria mucho mas rapida.

Segundo, si no puedes codificarlo podrias agregar a la misma consulta (
al final ) un :

AND NOT LIKE 'Llanta Renov%'

Salu2.
Penta.


Respuesta Responder a este mensaje
#3 Penta
08/05/2006 - 18:41 | Informe spam
Ops.
Repito no puedes codificar ??
Si no puedes, te sirve hacer la agrupacion por separado no ??
Primero sin las Renov y luego otra con la Renov

Atte.
Penta.
Respuesta Responder a este mensaje
#4 Alejandro Mesa
08/05/2006 - 20:19 | Informe spam
Trata:

SELECT
b.[Desc],
a.[Desc],
count(*) as cnt
FROM
TablaDatos as a
INNER JOIN
TablaAgr as b
ON a.[Desc] LIKE b.[Desc] + '%'
and not exists (
select *
from TablaAgr as c
where c.[Desc] = a.[Desc] and c.[Desc] != b.[Desc]
)
GROUP BY
b.[Desc],
a.[Desc]
go


AMB


"Mercedes" wrote:

Buenas Tardes
Tengo 2 tablas las cuales son como estas:

<TablaAgr>
Llanta
Llanta Renov

<TablaDatos>
Llanta Continental
Llanta Radial
Llanta Continental
Llanta Renov

Estoy haciendo un join en el cual tomo como base la <TablaAgr> necesito que
de el
total de elementos que tengo en la <tablaDatos>,lo que hago es un like pero
al elegir que me tome todos los que comienzan con Llanta toma tambien las
Llanta Renov y estas no las requiero que se tomen en cuenta, ya que esta
dentro de otra agrupacion
¿Como le puedo hacer?

Consulta:
SELECT TablaAgr.Desc , TablaDatos.Desc
FROM TablaDatos INNER JOIN TablaAgr ON TablaAgr.Desc LIKE TablaDatos.Desc
+ '%'
GROUP BY TablaAgr.Desc , TablaDatos.Desc


<TablaAgr > <TablaDatos>

Llanta Llanta Continental
Llanta Llanta Radial
Llanta Llanta Continental
Llanta Llanta Renov(*)

Llanta Renov Llanta Renov

(*) Este elemento no lo requiero ya que pertenece al otra agrupacion.
Respuesta Responder a este mensaje
#5 Miguel Egea
08/05/2006 - 20:19 | Informe spam
A ver si esta te vale (aunque me parece un poco chapuza la solución, mis
disculpas de antemano).
SELECT TablaAgr.Desc , TablaDatos.Desc
FROM TablaDatos INNER JOIN TablaAgr ON TablaAgr.Desc LIKE case
TablaDatos.Desc when 'Llanta Renov' then 'xxxxxxxxxxx' else Tabladatos.desc
+ '%' end
GROUP BY TablaAgr.Desc , TablaDatos.Desc

No lo he probado pero creo que puede funcionar.

"Mercedes" escribió en el mensaje
news:
Buenas Tardes
Tengo 2 tablas las cuales son como estas:

<TablaAgr>
Llanta
Llanta Renov

<TablaDatos>
Llanta Continental
Llanta Radial
Llanta Continental
Llanta Renov

Estoy haciendo un join en el cual tomo como base la <TablaAgr> necesito
que
de el
total de elementos que tengo en la <tablaDatos>,lo que hago es un like
pero
al elegir que me tome todos los que comienzan con Llanta toma tambien las
Llanta Renov y estas no las requiero que se tomen en cuenta, ya que esta
dentro de otra agrupacion
¿Como le puedo hacer?

Consulta:
SELECT TablaAgr.Desc , TablaDatos.Desc
FROM TablaDatos INNER JOIN TablaAgr ON TablaAgr.Desc LIKE
TablaDatos.Desc
+ '%'
GROUP BY TablaAgr.Desc , TablaDatos.Desc


<TablaAgr > <TablaDatos>

Llanta Llanta Continental
Llanta Llanta Radial
Llanta Llanta Continental
Llanta Llanta Renov(*)

Llanta Renov Llanta Renov

(*) Este elemento no lo requiero ya que pertenece al otra agrupacion.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida