2012-10-23 3 views
-1

동일한 열을 가지고 있지만 값이 다른 두 테이블을 결합하려고 시도하지만 출력 할 때마다 중복됩니다. 같은 열이있는 두 테이블의 내용을 얻기 위해 찾고 있다면PHP MYSQL JOIN : 2 개의 유사한 테이블

<?php 
        $dept = $_SESSION['department']; 
        $dept1 = strtolower($dept); 
        $dept2 = str_replace(" ", "_", $dept1); 
       $dept4 = "$dept2" . "_200"; 
        $dept = $_SESSION['department']; 
        $level = $_SESSION['level']; 
        $level2 = str_replace (" ", "_", $level); 

        if($level ="200_level") { 
        $query = " SELECT * FROM $dept2 Join $dept4"; 

        } 
        else 
        { 
        $query = " SELCT * FROM $dept2"; 

        } 
        $result = mysql_query($query) or die('<div  class="header5"small_font">Your Courses are not available yet. Pls contact the ICT Unit</div>'); 
         while ($row = mysql_fetch_assoc($result)) { 
         $id = $row['id']; 
        $course = htmlspecialchars($row['course_name']); 
       $code = htmlspecialchars($row['course_code']); 
        $status = $row['status']; 
        $unit = htmlspecialchars($row['unit']); 

    ?> 
+1

당신은 쿼리에 코드를 줄일 수 있을까요? 그렇게 대답하는 것이 훨씬 쉬우 며, 대답을 모두 똑같이 사용할 수 있어야합니다. (나는 그것이 조합을 사용하여 수행 될 수 있다고 믿지만 현재 코드가하는 것을 보는데 많은 노력을 기울여야한다 ...) – Jasper

+0

이것은 PHP와 어떤 관련이 있는가? 내 말은, 예, 당신은 PHP로 값을 얻고 있습니다. 그러나 이것은 단지 IM 문제입니다. – alexandernst

+0

해야 할 일은 동일한 열이지만 값이 다른 두 테이블의 값을 선택하는 것입니다. 제가 시도 : SELECT * $ FROM DEPT2은 $ dept4 그것은 출력하지만 $의 DEPT2 무시 dept4 $ 중복 가입. –

답변

0

가하는 MySQL UNION는 UNION로부터 결과를 결합하는 데 사용됩니다

도움이 될 것입니다 여기에

내 코드입니다 여러 SELECT 문을 단일 결과 집합에 추가합니다. 그래서 같이

는 :

$query = "(SELECT * FROM $dept2) 
      UNION 
      (SELECT * FROM $dept4)";