!!! Sorpresa !!! LAST no es un comando SQL

05/12/2004 - 05:10 por Mc_Clan | Informe spam
Hola a Todos,

Estudio una soluccion para obtener una lista con PHP desde un DataBase
MSSQL, parece facil ScansID, IP, OS ... donde el campo IP se
repite, como hacer para obtener los ultimos IP in relaccion al campo de
ScansID ?? mientras yo seguia obteniendo dobles de IP mi colega haciendo
una Query con Microsoft Acces lo logra sin dobles. Cojo la query "de
acces" que nos dà un resultado tan bonito y que es la siguiente:-

SELECT MAX(Scan.ScansID) as MAXSCANSID, Scan.IP, LAST(Scan.OS) as LASTOS
FROM Scan
GROUP BY Scan.IP
HAVING (((LAST(SCAN.OS)) IS NULL))
ORDER BY Scan.IP

!!! Sorpresa !!! LAST no es un comando SQL (Comprobado tambien en Shell)

No sè que cxxxxx hace el acces con esta sintax pero la hace funcionar..

Alguna idea???? (mismo sugerencia de como formular esta query desde PHP)

Muchas Gracias a Todos

McClan
NOTA

HE intentado tambien
SELECT DISTINCT IP // pero como le meto otro campo al lado se pasa el
DISTINCT para el forro.

Preguntas similare

Leer las respuestas

#6 Mc_Clan
05/12/2004 - 20:29 | Informe spam
Me vas a perdonar, pero no comprendo para nada del codigo.

Lo he leido x veces y tengo los tipos del psiquiatrico que se me quieren
llevar de paseo.

Lo se que soy torpe, pero please, como los hecho hasta ahora, te pido
me lo explicas o tienes una pregunta de reserva?

gracias ;-)

un abrazo

Maxi a écrit :
Mostrar la cita
#7 MAXI
06/12/2004 - 03:36 | Informe spam
Hola, claro que puedo explicartelo ;)

Tu me has dicho que tienes un campo ID que es el autonumerico y que luego
tienes un campo IP que es el que tiene el valor dado y la consulta es sacar
todos los ultimos registros y ver su ip verdad?

Entonces, los ultimos podrian ser en este caso la funcion MAX del campo ID y
agrupado por IP, o sea que para una misma IP me va a traer el maximo valor
de ID.

A esto lo puse en una tabla derivada y luego la vincule con JOIN con la
misma tabla, donde el max(id) = id.

Se entiende?




Maxi

Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)
Mail: Maxi_accotto[arroba]speedy.com.ar

Msn Messenger:

"Mc_Clan" escribió en el mensaje
news:41b3619e$0$8131$
Me vas a perdonar, pero no comprendo para nada del codigo.

Lo he leido x veces y tengo los tipos del psiquiatrico que se me quieren
llevar de paseo.

Lo se que soy torpe, pero please, como los hecho hasta ahora, te pido
me lo explicas o tienes una pregunta de reserva?

gracias ;-)

un abrazo

Maxi a écrit :
Mostrar la cita
#8 Liliana Sorrentino
06/12/2004 - 14:27 | Informe spam
Hola,
A ver si esto te sirve.
Generé una tabla temporal con datos de dos IP.
create table #scan
(scansID smallint,
ip char(20),
os char(20) null,
otros char(20))
insert #scan select 1, '192.X.X.1', null, 'otro dato 1'
insert #scan select 4, '192.X.X.1', 'WIN', 'otro dato 4'
insert #scan select 7, '192.X.X.1', 'OTRO', null
insert #scan select 9, '192.X.X.1', 'OTRO', 'otro dato 9'
insert #scan select 11, '193.X.X.1', null, 'otro dato 11'
insert #scan select 14, '193.X.X.1', 'WIN', 'otro dato 14'
insert #scan select 17, '193.X.X.1', 'OTRO', null
insert #scan select 19, '193.X.X.1', 'OTRO', 'otro dato 19'

tomando como ejemplo la forma de explicar de Javier Loria:
ip, sin condiciones
SELECT scansid = MAX(scansid), ip FROM #scan WHERE os IS NULL GROUP BY ip

tendrás todos los datos de ese scansid:
SELECT t1.scansid, t1.ip, t1.os, t1.otros
FROM #scan t1
INNER JOIN
(SELECT scansid = MAX(scansid), ip FROM #scan WHERE os IS NULL GROUP BY ip)
tmax
ON t1.scansid = tmax.scansid AND t1.ip = tmax.ip

Para las condiciones de nulos, no nulos, determinados valores, etc, solo es
necesario que agregues un WHERE en la tabla derivada.

Saludos, Liliana.

"Mc_Clan" escribió en el mensaje
news:41b3619e$0$8131$
Me vas a perdonar, pero no comprendo para nada del codigo.

Lo he leido x veces y tengo los tipos del psiquiatrico que se me quieren
llevar de paseo.

Lo se que soy torpe, pero please, como los hecho hasta ahora, te pido
me lo explicas o tienes una pregunta de reserva?

gracias ;-)

un abrazo

Maxi a écrit :
Mostrar la cita
curso.
Mostrar la cita
digo,
Mostrar la cita
dialecto
Mostrar la cita
haciendo
Mostrar la cita
LASTOS
Mostrar la cita
Shell)
Mostrar la cita
PHP)
Mostrar la cita
Ads by Google
Search Busqueda sugerida