ayuda ...Jor-El query..
Saludos a todos, si alguno de ustedes tiene algo de timpo para ayudarme, se los agradezco....Jor-El si estas por aqui.. me gustaria me ayudaras..
El siguiente query me sirvio para consultar de una base los registos duplicados.. ..ahora necesito de esos duplicados extraer los que esten duplicados de otro campo...he intentado hacer la sentencia pero no me queda.. ..
SELECT Served_MSISDN
|| '|' ||A_Number
|| '|' ||B_Number
|| '|' ||C_Number
|| '|' ||Company
|| '|' ||Region
|| '|' ||Call_Detail_ID
|| '|' ||Creation_Date
|| '|' ||Start_Time
|| '|' ||Direction
|| '|' ||Switch
|| '|' ||Home
|| '|' ||Home_Roam
|| '|' ||World_Number
|| '|' ||Cell_Site_ID
|| '|' ||Cell_Description
|| '|' ||Special_Number
|| '|' ||Special_Number_Free_Call
|| '|' ||Period
|| '|' ||Toll_Type
|| '|' ||LD_Carrier
|| '|' ||Original_Duration
|| '|' ||Rounded_Duration
|| '|' ||Air_Amount
|| '|' ||Tax_Air_Amount
|| '|' ||Roaming_Amount
|| '|' ||Tax_Roaming_Amount
|| '|' ||Long_Distance_Amount
|| '|' ||Tax_Long_Distance_Amount
|| '|' ||Total_Amount
|| '|' ||Service_Class
|| '|' ||Tax_Rate
|| '|' ||Number_Of_Sms
|| '|' ||Fully_Charged_Duration
|| '|' ||FAF_Indicator
|| '|' ||Campo36
from Detalle
where Call_Detail_Id=
(select Call_Detail_Id from detalle
group by Call_Detail_Id
having count(Call_Detail_Id)>1);
de el resultado de este query necesito extraer solo en los que se duplique el campo de Direction..
Ojala me haya explicado correctamente.. muchas gracias
El siguiente query me sirvio para consultar de una base los registos duplicados.. ..ahora necesito de esos duplicados extraer los que esten duplicados de otro campo...he intentado hacer la sentencia pero no me queda.. ..
SELECT Served_MSISDN
|| '|' ||A_Number
|| '|' ||B_Number
|| '|' ||C_Number
|| '|' ||Company
|| '|' ||Region
|| '|' ||Call_Detail_ID
|| '|' ||Creation_Date
|| '|' ||Start_Time
|| '|' ||Direction
|| '|' ||Switch
|| '|' ||Home
|| '|' ||Home_Roam
|| '|' ||World_Number
|| '|' ||Cell_Site_ID
|| '|' ||Cell_Description
|| '|' ||Special_Number
|| '|' ||Special_Number_Free_Call
|| '|' ||Period
|| '|' ||Toll_Type
|| '|' ||LD_Carrier
|| '|' ||Original_Duration
|| '|' ||Rounded_Duration
|| '|' ||Air_Amount
|| '|' ||Tax_Air_Amount
|| '|' ||Roaming_Amount
|| '|' ||Tax_Roaming_Amount
|| '|' ||Long_Distance_Amount
|| '|' ||Tax_Long_Distance_Amount
|| '|' ||Total_Amount
|| '|' ||Service_Class
|| '|' ||Tax_Rate
|| '|' ||Number_Of_Sms
|| '|' ||Fully_Charged_Duration
|| '|' ||FAF_Indicator
|| '|' ||Campo36
from Detalle
where Call_Detail_Id=
(select Call_Detail_Id from detalle
group by Call_Detail_Id
having count(Call_Detail_Id)>1);
de el resultado de este query necesito extraer solo en los que se duplique el campo de Direction..
Ojala me haya explicado correctamente.. muchas gracias
Hola Tatiana ¡ ¡¡
Ufff, me has pillado en frio, a ver si te sirve esto.
Si no te sirve me lo dices y mañana te lo miro con mas calma, es que ahora estoy espesito, acabo de venir de cenar con unos amigos y ya sabes lo que pasa.
select COUNT(*),DirectioN
FROM
(
SELECT Served_MSISDN
|| '|' ||A_Number
|| '|' ||B_Number
|| '|' ||C_Number
|| '|' ||Company
|| '|' ||Region
|| '|' ||Call_Detail_ID
|| '|' ||Creation_Date
|| '|' ||Start_Time
|| '|' ||Direction
|| '|' ||Switch
|| '|' ||Home
|| '|' ||Home_Roam
|| '|' ||World_Number
|| '|' ||Cell_Site_ID
|| '|' ||Cell_Description
|| '|' ||Special_Number
|| '|' ||Special_Number_Free_Call
|| '|' ||Period
|| '|' ||Toll_Type
|| '|' ||LD_Carrier
|| '|' ||Original_Duration
|| '|' ||Rounded_Duration
|| '|' ||Air_Amount
|| '|' ||Tax_Air_Amount
|| '|' ||Roaming_Amount
|| '|' ||Tax_Roaming_Amount
|| '|' ||Long_Distance_Amount
|| '|' ||Tax_Long_Distance_Amount
|| '|' ||Total_Amount
|| '|' ||Service_Class
|| '|' ||Tax_Rate
|| '|' ||Number_Of_Sms
|| '|' ||Fully_Charged_Duration
|| '|' ||FAF_Indicator
|| '|' ||Campo36 CADENA,
direction
from Detalle
where Call_Detail_Id=
(select Call_Detail_Id from detalle
group by Call_Detail_Id
having count(Call_Detail_Id)>1)
)
group by direction
HAVING COUNT(*) > 1
Con esto creo que te saldrían todas las direcciones repetidas de tu mega-query
Mira a ver si te vale y si no mañana buscamos otra forma.
Un saludin
Ufff, me has pillado en frio, a ver si te sirve esto.
Si no te sirve me lo dices y mañana te lo miro con mas calma, es que ahora estoy espesito, acabo de venir de cenar con unos amigos y ya sabes lo que pasa.
select COUNT(*),DirectioN
FROM
(
SELECT Served_MSISDN
|| '|' ||A_Number
|| '|' ||B_Number
|| '|' ||C_Number
|| '|' ||Company
|| '|' ||Region
|| '|' ||Call_Detail_ID
|| '|' ||Creation_Date
|| '|' ||Start_Time
|| '|' ||Direction
|| '|' ||Switch
|| '|' ||Home
|| '|' ||Home_Roam
|| '|' ||World_Number
|| '|' ||Cell_Site_ID
|| '|' ||Cell_Description
|| '|' ||Special_Number
|| '|' ||Special_Number_Free_Call
|| '|' ||Period
|| '|' ||Toll_Type
|| '|' ||LD_Carrier
|| '|' ||Original_Duration
|| '|' ||Rounded_Duration
|| '|' ||Air_Amount
|| '|' ||Tax_Air_Amount
|| '|' ||Roaming_Amount
|| '|' ||Tax_Roaming_Amount
|| '|' ||Long_Distance_Amount
|| '|' ||Tax_Long_Distance_Amount
|| '|' ||Total_Amount
|| '|' ||Service_Class
|| '|' ||Tax_Rate
|| '|' ||Number_Of_Sms
|| '|' ||Fully_Charged_Duration
|| '|' ||FAF_Indicator
|| '|' ||Campo36 CADENA,
direction
from Detalle
where Call_Detail_Id=
(select Call_Detail_Id from detalle
group by Call_Detail_Id
having count(Call_Detail_Id)>1)
)
group by direction
HAVING COUNT(*) > 1
Con esto creo que te saldrían todas las direcciones repetidas de tu mega-query
Mira a ver si te vale y si no mañana buscamos otra forma.
Un saludin
Que bien.. que envidia.. pero de la buena...
espero mañana si tengas algo de tiempo..
ERROR en línea 43:
ORA-01427: single-row subquery returns more than one row
de cualquier forma te agradezco.
espero mañana si tengas algo de tiempo..
ERROR en línea 43:
ORA-01427: single-row subquery returns more than one row
de cualquier forma te agradezco.
Buenos dias.
Vale, ya tenemos algo. Lo que te está dando error es esto :
where Call_Detail_Id=
(select Call_Detail_Id from detalle
group by Call_Detail_Id
having count(Call_Detail_Id)>1)
Esta sub-select te devuelve mas de una fila. Como no sé exactamente los datos que tienes y algo mas, vamos por partes.
Cambia esto : Call_Detail_Id= (select .......
Por esto otro : Call_Detail_Id in (select .......
A ver que pasa y me cuentas, pero de momento nos quitamos el error que me pones.
Si no te vale, a ver si puedo esta tarde agregarte al msn y hablamos on-line. Aunque no sé exactamente la diferencia horaria entre tu pais y el mio.
Suerte.
Vale, ya tenemos algo. Lo que te está dando error es esto :
where Call_Detail_Id=
(select Call_Detail_Id from detalle
group by Call_Detail_Id
having count(Call_Detail_Id)>1)
Esta sub-select te devuelve mas de una fila. Como no sé exactamente los datos que tienes y algo mas, vamos por partes.
Cambia esto : Call_Detail_Id= (select .......
Por esto otro : Call_Detail_Id in (select .......
A ver que pasa y me cuentas, pero de momento nos quitamos el error que me pones.
Si no te vale, a ver si puedo esta tarde agregarte al msn y hablamos on-line. Aunque no sé exactamente la diferencia horaria entre tu pais y el mio.
Suerte.