La consulta que necesitas para traer los campos de 2 tablas sería
SELECT * FROM personal,emergencia WHERE personal.idemergencia = emergencia.idEsto te trae como resultado todos los registros de ambas tablas relacionadas, es decir cada registro de esta consulta contiene los datos:
Personal. IdPersonal. NombrePersonal. ApellidoPersonal. Idemergencia <- este dato es igual al de la siguiente columna (emergencia. Id)
Emergencia. Id <- este dato es igual al de la columna anterior (personal. Idemergencia)
Emergencia. ApellidoEmergencia. NombreEmergencia. CedulaLo que estamos haciendo con la consulta es traer todos los campos de ambas tablas pero solo cuando los id de emergencia coincidan ( WHERE personal.idemergencia = emergencia.id)
Como veras hay 2 cosas que notar:
1.- Tenemos un campo duplicado para cada registro, (
personal. Idemergencia con emergencia. Id) que es normal porque precisamente esa es la condición que estamos buscando dada de tus tablas 1:1
2.- Como hay nombres de columnas iguales en las 2 tablas (p.e. "nombre" en la tabla personal y "nombre" en la tabla emergencia), lo mejor es hacer referencia a todos los campor con el nombre de su tabla explicito, por ejemplo:
nombre_tabla.nombre_columna Así podemos diferenciar "
personal.nombre" de "
emergencia.nombre"
Esa es la explicación de tu consulta, ya si quieres un caso practico de implementarla en php, pues el código debería ser algo así como esto (si es que tu base de datos es mysql)
---------------------------------------------
$conexion = mysql_connect("localhost", "usuario", "clave"); // tus datos de conexion a mysql
mysql_select_db("demo", $conexion);//nombre de tu base de datos
$query = "SELECT * FROM personal,emergencia WHERE personal.idemergencia = emergencia.id";
$empleados = mysql_query($query, $conexion) or die(mysql_error());//guardamos en una variable el resultado de la consulta
$numeroEmpleados = mysql_num_rows($empleados); // por si quieres saber la cantidad de registros
if ($numeroEmpleados> 0) {
while ($empleado = mysql_fetch_assoc($empleados)) { // hacemos un while para recorrer empleado por empleado , es decir, registro por registro de la consulta
echo "<strong>Personal:".$empleado['personal.nombre']." ".$empleado['personal.apellido']."</strong><br>";
echo "<br>Datos de emergencia<br/>cedula: ".$empleado['emergencia.cedula']."<br>";
echo "- ".$empleado['emergencia.nombre']." ".$empleado['emergencia.apellido']."<br><br><br><br>";
}
}
La verdad no probé el código así que igual y se me fue algún error por ahí, pero checalo y cualquier duda me avisas ;). Espero que ue te sirva. Saludos!
Rafael Reyna Lagunas
Desarrollo web
http://digitalcrossroads.com.mx