Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

[SOLUCIONADO] Se puede utilizar un join en un insert into

Estas en el tema de Se puede utilizar un join en un insert into en el foro de Bases de Datos General en Foros del Web. Hola amigos tengo un problema al insertar datos en una bd el problema es que utilizo 4 tablas y debo de utilizar 1 conexion por ...
  #1 (permalink)  
Antiguo 22/07/2009, 11:49
Avatar de yoyoyo82  
Fecha de Ingreso: julio-2009
Ubicación: Springfield
Mensajes: 159
Antigüedad: 15 años, 4 meses
Puntos: 1
Se puede utilizar un join en un insert into

Hola amigos tengo un problema al insertar datos en una bd el problema es que utilizo 4 tablas y debo de utilizar 1 conexion por cada tabla y al momentode mostrarme el registro insertado me repite varias veces el registro
este es el codigo

mysql_db_query("prep","insert into t_calificaciones (matricula,mat_1,cal_1,cal_2,prom_1,mat_2,cal_3,ca l_4,prom_2,mat_3,cal_5,cal_6,prom_3,mat_4,cal_7,ca l_8,prom_4,mat_5,cal_9,cal_10,prom_5,mat_6,cal_11, cal_12,prom_6,mat_7,cal_13,cal_14,prom_7,mat_8,cal _15,cal_16,prom_8,mat_9,cal_17,cal_18,prom_9,mat_1 0,cal_19,cal_20,prom_10,prom_gral) values ('$matricula','$mat_1','$cal_1','$cal_2','$prom_1' ,'$mat_2','$cal_3','$cal_4','$prom_2','$mat_3','$c al_5','$cal_6','$prom_3','$mat_4','$cal_7','$cal_8 ','$prom_4','$mat_5','$cal_9','$cal_10','$prom_5', '$mat_6','$cal_11','$cal_12','$prom_6','$mat_7','$ cal_13','$cal_14','$prom_7','$mat_8','$cal_15','$c al_16','$prom_8','$mat_9','$cal_17','$cal_18','$pr om_9','$mat_10','$cal_19','$cal_20','$prom_10','$p rom_gral')");

mysql_db_query("prep","insert into t_alumnos (matricula,nombre,apaterno,amaterno) values ('$matricula','$nombre','$apaterno','$amaterno')") ;

mysql_db_query("prep","insert into t_turno (cve_grupo,matricula,turno) values ('$cve_grupo','$matricula','$turno')");

mysql_db_query("prep","insert into t_grupo (cve_grupo,grupo,semestre) values ('$cve_grupo','$grupo','$semestre')");

el caso es que quisiera saber si se pueden unir las cuatro tablas en una sola conexion o query y esa pueda ser la causa de que me repita varias veces el mismo registro , este es el codigo donde me muestra el registro insertado

<?
//Conexion con la base
mysql_connect("localhost","root","yoyoyo");

//Ejecutamos la sentencia SQL
$result=mysql_db_query("prep","select `t_alumnos`.`matricula`,nombre,grupo,turno,semestr e,apaterno,amaterno,mat_1,cal_1,cal_2,prom_1,mat_2 ,cal_3,cal_4,prom_2,mat_3,cal_5,cal_6,prom_3,mat_4 ,cal_7,cal_8,prom_4,mat_5,cal_9,cal_10,prom_5,mat_ 6,cal_11,cal_12,prom_6,mat_7,cal_13,cal_14,prom_7, mat_8,cal_15,cal_16,prom_8,mat_9,cal_17,cal_18,pro m_9,mat_10,cal_19,cal_20,prom_10,prom_gral from t_calificaciones join t_alumnos on t_calificaciones.matricula=t_alumnos.matricula join t_turno on t_alumnos.matricula=t_turno.matricula join t_grupo on t_turno.cve_grupo=t_grupo.cve_grupo where grupo='1º1-V'");

//$res = mysql_db_query($result) or die(mysql_error());


?>

<?
//Mostramos los registros
while ($row=mysql_fetch_array($result))
{
echo '<tr><td>'.$row["matricula"].'</td>';
echo '<td>'.$row["grupo"].'</td>';
echo '<td>'.$row["turno"].'</td>';
echo '<td>'.$row["semestre"].'</td>';
echo '<td>'.$row["nombre"].'</td>';
echo '<td>'.$row["apaterno"].'</td>';
echo '<td>'.$row["amaterno"].'</td>';
echo '<td>'.$row["mat_1"].'</td>';
echo '<td>'.$row["cal_1"].'</td>';
echo '<td>'.$row["cal_2"].'</td>';
echo '<td>'.$row["prom_1"].'</td>';
echo '<td>'.$row["mat_2"].'</td>';
echo '<td>'.$row["cal_3"].'</td>';
echo '<td>'.$row["cal_4"].'</td>';
echo '<td>'.$row["prom_2"].'</td>';
echo '<td>'.$row["mat_3"].'</td>';
echo '<td>'.$row["cal_5"].'</td>';
echo '<td>'.$row["cal_6"].'</td>';
echo '<td>'.$row["prom_3"].'</td>';
echo '<td>'.$row["mat_4"].'</td>';
echo '<td>'.$row["cal_7"].'</td>';
echo '<td>'.$row["cal_8"].'</td>';
echo '<td>'.$row["prom_4"].'</td>';
echo '<td>'.$row["mat_5"].'</td>';
echo '<td>'.$row["cal_9"].'</td>';
echo '<td>'.$row["cal_10"].'</td>';
echo '<td>'.$row["prom_5"].'</td>';
echo '<td>'.$row["mat_6"].'</td>';
echo '<td>'.$row["cal_11"].'</td>';
echo '<td>'.$row["cal_12"].'</td>';
echo '<td>'.$row["prom_6"].'</td>';
echo '<td>'.$row["mat_7"].'</td>';
echo '<td>'.$row["cal_13"].'</td>';
echo '<td>'.$row["cal_14"].'</td>';
echo '<td>'.$row["prom_7"].'</td>';
echo '<td>'.$row["mat_8"].'</td>';
echo '<td>'.$row["cal_15"].'</td>';
echo '<td>'.$row["cal_16"].'</td>';
echo '<td>'.$row["prom_8"].'</td>';
echo '<td>'.$row["mat_9"].'</td>';
echo '<td>'.$row["cal_17"].'</td>';
echo '<td>'.$row["cal_18"].'</td>';
echo '<td>'.$row["prom_9"].'</td>';
echo '<td>'.$row["mat_10"].'</td>';
echo '<td>'.$row["cal_19"].'</td>';
echo '<td>'.$row["cal_20"].'</td>';
echo '<td>'.$row["prom_10"].'</td>';
echo '<td>'.$row["prom_gral"].'</td></tr>';
}



mysql_free_result($result)
?>
gracias
  #2 (permalink)  
Antiguo 22/07/2009, 13:26
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 19 años, 3 meses
Puntos: 39
Respuesta: Se puede utilizar un join en un insert into

Quizas sea por el tipo de join que haces. Has probado con DISTINCT?
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #3 (permalink)  
Antiguo 22/07/2009, 13:58
Avatar de yoyoyo82  
Fecha de Ingreso: julio-2009
Ubicación: Springfield
Mensajes: 159
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Se puede utilizar un join en un insert into

no la verdad no lo he intentado con distinct se pone en lugar de join?
  #4 (permalink)  
Antiguo 22/07/2009, 14:07
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 19 años, 3 meses
Puntos: 39
Respuesta: Se puede utilizar un join en un insert into

Va entre SELECT y la lista de tus campos.
Código sql:
Ver original
  1. SELECT DISTINCT campo1,... FROM tabla
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #5 (permalink)  
Antiguo 22/07/2009, 16:13
Avatar de yoyoyo82  
Fecha de Ingreso: julio-2009
Ubicación: Springfield
Mensajes: 159
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Se puede utilizar un join en un insert into

ok gracias brother problema solucionado
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:20.