En primer lugar, no estoy seguro de haber configurado correctamente el título de esta pregunta.

Tengo pequeños problemas con la declaración SQL que me gustaría hacer. Ahora tengo dos declaraciones SQL, que me están dando resultados como este:

Primera:

SELECT column as service from table where something = "value 1"

Servicio
1
2
3

SELECT column as city from table where something = "value 2"

Segundo:
ciudad
4
5

Me gustaría con solo una declaración SQL, obtener el resultado como este:

Ciudad de servicio
1 4
1 5
2 4
2 5
3 4
3 5

Estoy bastante seguro de que hay alguna solución para hacerlo posible, simplemente no puedo averiguar cómo se debe resolver. Si alguien pudiera ayudarme, estaría muy agradecido.

0
lazarkoo 24 feb. 2018 a las 16:32

2 respuestas

La mejor respuesta

Quieres una cross join:

SELECT s.service, c.city
FROM (SELECT column as service from table where something = 'value 1'
     ) s CROSS JOIN
     (SELECT column as city from table where something = 'value 2'
     ) c
1
Gordon Linoff 24 feb. 2018 a las 13:33

Puede utilizar combinación cruzada

SELECT t1.column as service , t2.column as city
from table t1 
cross join table t2
where t1.something = "value 1" and   t2.something = "value 2"
0
scaisEdge 24 feb. 2018 a las 13:34