SQL - Duda subconsultas

 
Vista:

Duda subconsultas

Publicado por Raquel (2 intervenciones) el 03/02/2018 15:20:19
Buenas tardes. Tengo una duda que no se resolver, seguro que me podeis ayudar ^__ ^

Vamos a ver. Tengo dos tablas. Una de ellas con numeros entre 10 y 99 (no todos), y la otra con numeros entre 10000 al 99999.

Tengo que contar cuantos numeros de la segunda tabla hay que empiecen con los de la primera tabla.

Me explico con un ejemplo:

En la primera tabla tengo 10,11,15,18

En la segunda tabla tengo: 10000,11000,11252,99999

El resultado tendría que ser

10 11 15 18
1 2 0 0

Yo tengo hecho esto:
SELECT numerosgrandes,COUNT(*) FROM tabla_numerosgrandes,tabla_numerospequenios

WHERE numerosgrandes IN ( SELECT SUBSTRING(numerospequenios,1,2)o FROM tabla_numeropequenios

)

GROUP BY tabla_numerosgrandes

Y el resultado que me da es:

10 11 15 18
3 3 3 3



Muchas gracias de antemano! ^^
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
Imágen de perfil de Isaias
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Duda subconsultas

Publicado por Isaias (1921 intervenciones) el 03/02/2018 20:13:37
¿En que motor de base de datos?
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

Duda subconsultas

Publicado por JORGE (4 intervenciones) el 03/02/2018 22:26:20
Si quieres sacar la cantidad de números grandes que empiezan por números de la tabla de los pequeños:
SELECT COUNT(*) FROM NUMEROS_GRANDES
WHERE SUBSTRING(NUMEROS_GRANDES,1,2)
IN (SELECT NUMEROS_PEQUES FROM NUMEROS_PEQUES)

Si quieres sacar los números grandes que empiezan por números de la tabla de los pequeños, con las cantidades:
SELECT NUMEROS_GRANDES, COUNT(*) FROM NUMEROS_GRANDES
WHERE SUBSTRING(NUMEROS_GRANDES,1,2)
IN (SELECT NUMEROS_PEQUES FROM NUMEROS_PEQUES)
GROUP BY NUMEROS_GRANDES

Si quieres sacar sólo los números grandes que empiezan por números de la tabla de los pequeños
SELECT NUMEROS_GRANDES FROM NUMEROS_GRANDES
WHERE SUBSTRING(NUMEROS_GRANDES,1,2)
IN (SELECT NUMEROS_PEQUES FROM NUMEROS_PEQUES)
GROUP BY NUMEROS_GRANDES
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

Duda subconsultas

Publicado por Raquel (2 intervenciones) el 04/02/2018 22:44:00
Genial, me sirvió. Muchas gracias!
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