Ver Mensaje Individual
  #2 (permalink)  
Antiguo 20/11/2013, 03:30
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: combinar 2 selects

Esta query funcionará pero es en potencia altamente ineficiente puesto que hace un producto cartesiano de las dos tablas para localizar una sola combinación, si el numero de usuarios y restaurantes es grande el producto cartesiano de ambas tablas lo sera mucho mas... Nada te aseguara que dos restaruntes no tengan el mismo nombre....

Código MySQL:
Ver original
  1. INSERT INTO usuario_restaurante ( idusuario, idrestaurante )
  2. SELECT usuarios.idusuario, restaurantes.idrestaurante
  3. FROM usuarios, restaurantes
  4. WHERE usuarios.login = "hhh" AND restaurantes.nombrerest = "kkk";

Por todo ello seguro que seria mas eficiente obtener primero los dos id y hacer un insert normal.... apoyandote en la programacion externa que te estará soportando el loguin...

Código MySQL:
Ver original
  1. SELECT idusuario FROM usuarios where login = "hhh";   -- -->XX
  2.  
  3. SELECT idrestaurante FROM restaurantes where nombrerest = "kkk"; -- -->YY
  4.  
  5. INSERT INTO usuario_restaurante (idusuario,idrestaurante) VALUES XX,YY;

En el momento de hacer el login ya puedes guardar el id del usuario y en el momento que este elige restaurante lo mismo...
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 20/11/2013 a las 03:37