SQL - Tabla SQL

   
Vista:

Tabla SQL

Publicado por leo (2 intervenciones) el 16/11/2014 02:44:38
Hola que tal?, tengo la siguiente tabla. en la cual quiero que en la fila de MATERIA 6, CARRERA ONE, aparezca tambien materia 8 y no en distintas filas como se muestra en la image, ya que una materia puede tener una materia correlativa con un final y con una cursada, a continuacion esta el SQL de dicha tabla. Muchas gracias

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
include('conexion.php');
	$sql = "SELECT m.materia, m1.materia, c.carrera, '' as correlativafinal, idcorrelativa FROM correlatividades ca, materia m, materia m1, carrera c WHERE m.idmateria = ca.materia and ca.materiacorrelativa = m1.idmateria and c.idcarrera = ca.carrera ";
	$sql .= "UNION ";
	$sql .= "SELECT m.materia, '' as materia, c.carrera, m1.materia, idcorrelativa FROM correlatividades ca, materia m, materia m1, carrera c WHERE m.idmateria = ca.materia and ca.correlativafinal = m1.idmateria and c.idcarrera = ca.carrera";
	$rs = mysql_query($sql,$coneccion);
	$cantidad = mysql_num_rows($rs);
	$i=0;
	$arr = '';
	while($row=mysql_fetch_array($rs)){
		$i = $i + 1;
		$arr .= '["'.$row[0].'","'.$row[1].'","'.$row[2].'","'.$row[3].'",';
		if($cantidad==$i){
			$arr .= '"<input type=\"button\" name=\"mcorrelativa\" value=\"Modificar\" class=\"clscorrelativa\" id=\"m'.$row[4].'\">",';
			$arr .= '"<input type=\"button\" name=\"emateria\" value=\"Eliminar\" class=\"clscorrelativa\" id=\"e'.$row[4].'\">"]';
		}else{
			$arr .= '"<input type=\"button\" name=\"mcorrelativa\" value=\"Modificar\" class=\"clscorrelativa\" id=\"m'.$row[4].'\">",';
			$arr .= '"<input type=\"button\" name=\"ecorrelativa\" value=\"Eliminar\" class=\"clscorrelativa\" id=\"e'.$row[4].'\">"],';
		}
	}
	$arr = '{"aaData":['.$arr.']}';
	echo $arr;
?>

los campos de las tablas son los siguiente: Correlatividades (idcorrelativa, materia, materiacorrelativa, materia, correlativafinal).
Materia(idmateria, materia, idcarrera, idlegajop)
Carrera(idcarrera, carrera)
tabla
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Tabla SQL

Publicado por leonardo_josue (878 intervenciones) el 19/11/2014 22:37:21
Hola Tocayo:

Te recuerdo que este es un FORO DE SQL, por lo que código de cualquier lenguaje de programación como PHP ESTÁ PROHIBIDO, ojo con eso para la próxima.

Tu problema está en los datos y en la manera en que estás relacionando las tablas, pero para entender mejor el problema es necesario que nos digas QUÉ DATOS HAY EN CADA UNA DE LAS TABLAS y también CÓMO ESTÁN RELACIONADOS ESTOS DATOS. De esta manera podremos buscar algunas alternativas con SQL que puedan ayudarte.

Además, creo que tienes una Referencia Recursiva, es decir, en una misma tabla tienes, insisto, tendríamos que ver cómo tienes tus datos, no me queda claro para el caso de las materias si tienes un sólo registro o varios... dependiendo de tus datos la solución puede estar en el uso de agrupaciones o de subconsultas.

Postea los datos de tus tablas y con gusto trataremos de ayudarte.

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Tabla SQL

Publicado por leo (2 intervenciones) el 19/11/2014 23:42:20
Hola Leonardo, si disculpa no sabia en que foro poner la consula porque el problema que tengo es de SQL y esta en PHP. Adjunto las imagenes de las tablas que necesito relacionar.
Lo que quiero logar es que en la tabla correlatividades que se muestra en la aplicacion se muestre como esta en la BD pero con los respectivos nombre de las materias y a la carrera que pertenece, todo eso en una sola fila. Uno de los campos de la tabla correlatividades puede ser null (materiacorrelativa o correlativafinal). Solo pude hacer que muestre los datos pero sin sus nombre solo con los numero identificatorios de las materias y carreras
Muchas gracias
carreras
correlatividades
materias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar