Consulta hay alguna manera de quitar la tabla del from en la sig consulta? o de rehacerla de manera tal que mantenga la funcionalidad? lo unico que hace es devolver un int que no exista en la tabla tdot_selection.id_selection
SELECT TOP 1 CONVERT(INT, Val)
FROM tdot_selection
CROSS APPLY (SELECT( Floor(Rand() * CONVERT(INT, 0x7FFFFFFF)) )) AS Random(Val)
WHERE Val NOT IN (SELECT id_selection
FROM tdot_selection)
Gracias
Buenas,
Inicialmente desconozco porque usas el CROSS APPLY si en esta consulta que generas, estas forzando a que te muestre el TOP1, es decir el primer registro, por lo cual el CROSS APPLY no hace nada, a mi parecer.
Es como si hicieras esto:
SELECT TOP 1 convert(int,3) as Val from dbo.CualquierTabla CROSS APPLY(SELECT( Floor(Rand() * CONVERT(INT, 0x7FFFFFFF)) )) AS Random(VAL)
SELECT TOP 1 convert(int,3) as Val from dbo.CualquierTabla CROSS APPLY(SELECT( Floor(Rand() * CONVERT(INT, 5)) )) AS Random(VAL)
SELECT TOP 1 convert(int,3) as Val from dbo.CualquierTabla
Eso te arrojará siempre el Numero 3.
Ahora:
WHERE Val NOT IN (SELECT id_selection
FROM tdot_selection)
Hace que tu consulta muestre solamente el Primer Valor Registrado mientras no este en esa tabla...!
Saludos