SQL - Consulta muy dificil

 
Vista:

Consulta muy dificil

Publicado por Hernan* (104 intervenciones) el 04/12/2003 20:06:33
Necesito realizar una consulta que me numere un select y que me muestre dos columnas adicionales, una Nro con el orden del select y otra Total con la cantidad de filas devueltas. Lo dificil es que la consulta se realiza sobre varias tablas y no debo usar inner join.
Este es el Codigo.....

SELECT
a.DOC_ID,
a.DOC_TYPE_ID,
a.NAME,
a.ICON_ID,
a.FOLDER_ID,
(SELECT COUNT(*) FROM DOC_I25, DOC_T25, DOC_TYPE WHERE DOC_I25.Doc_Id = DOC_T25.Doc_Id AND DOC_TYPE.DOC_TYPE_ID =DOC_T25.DOC_TYPE_ID AND (LOWER(DOC_I25.I3) ='galicia'))AS "Total",
(SELECT COUNT(*)FROM DOC_T25 b WHERE b.Doc_id<=a.Doc_id)AS "Nro"
FROM DOC_T25 a, DOC_I25 b, DOC_TYPE
WHERE b.Doc_Id = a.Doc_Id AND DOC_TYPE.DOC_TYPE_ID =a.DOC_TYPE_ID AND (LOWER(b.I3) ='galicia') --AND (SELECT COUNT(*)FROM DOC_T25 b WHERE b.Doc_id<=a.Doc_id)BETWEEN 2 AND 25
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Aclaracion

Publicado por Hernan* (104 intervenciones) el 04/12/2003 20:09:32
El Motor es MS SQL 2000 Server.
La consulta funciona. solo que no me numera bien, me da numeros
18
27
34

en lugar de devolverlos seguidos:
1
2
3
4

Este numero lo voy a usar para poner en el Where un between
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Aclaracion

Publicado por Isaías Islas (5072 intervenciones) el 04/12/2003 20:35:49
He estado tratando de entender su Script, pero la verdad que esta muy complicado, ¿podria decirnos que desea hacer?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Aclaracion

Publicado por Hernan* (104 intervenciones) el 04/12/2003 20:45:18
Es una consulta vinculada entre 3 tablas pero sin inner join.
Y al hacer el select lo que busco es que me devuelva los resultados y dos columnas adicionales una con el select numerado.(que es la que no funciona) y otra que me muestre el total de registros devueltos (o sea que si hay 18 registros, esa columna tendria todos 18).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Aclaracion

Publicado por Isaías Islas (5072 intervenciones) el 04/12/2003 20:49:19
1.- Microsoft recomienda que las uniones entre tablas, se hagan mediante la instruccion JOIN

2.- Le recomiendo que el RESULTADO de su SELECT lo ponga en una tabla de paso o en una variable de PASO donde tenga una columna de tipo IDENTITY.

3.- Para obtener el numero de registros procesados, es tan sencillo como hacer un COUNT de la tabla anterior descrita.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar