Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/02/2010, 16:37
tokkaido
 
Fecha de Ingreso: julio-2009
Mensajes: 90
Antigüedad: 15 años, 4 meses
Puntos: 4
Pregunta INSERT con seleccion de 2 datos no me funca!

Hola, aprovechando la buena disposicion de la gente del foro quisiera preguntar que esta mal en mi consulta que no me resulta:

Código MySQL:
Ver original
  1. INSERT INTO temporal_cambioentrantes (codigo,posicion,prof,id_inventario)
  2. VALUES (0,1,(
  3. SELECT st.profundidad AS prof,st.id_interno as id_inventario
  4. FROM  (stock_bodegas  st INNER JOIN tipos_neumaticos tn ON tn.id_interno)
  5. WHERE st.medida=9
  6. ))


cuando ejecuto esta parte sale bien:

Código MySQL:
Ver original
  1. SELECT st.profundidad AS prof,st.id_interno as id_inventario
  2. FROM  (stock_bodegas  st INNER JOIN tipos_neumaticos tn ON tn.id_interno)
  3. WHERE st.medida=9

incluso cuando omito el:

st.profundidad AS prof

y su correspondiente campo en el insert se inserta bien, pero necesito insertar la profundidad y me arroja el sgte error:

1136 - Column count doesn't match value at row 1

o sea estoy clarito que me dice que no me calzan el numero de datos que quiero ingresar con las columnas:

ahora bien, mientras escribia esto me di cuenta que podia hacerlo de la sgte manera:

Código MySQL:
Ver original
  1. INSERT INTO temporal_cambioentrantes (codigo,posicion,profundidad,id_inventario)
  2. VALUES (0,1,(
  3. SELECT st.profundidad AS profundidad
  4. FROM  (stock_bodegas  st INNER JOIN tipos_neumaticos tn ON tn.id_interno)
  5. WHERE st.medida=9
  6. ),(
  7. SELECT st.id_interno as id_inventario
  8. FROM  (stock_bodegas  st INNER JOIN tipos_neumaticos tn ON tn.id_interno)
  9. WHERE st.medida=9
  10. ))

¿pero me pregunto si no habrá otra manera mas eficiente de hacer la consulta?