2012-10-23 7 views
-1

Я пытаюсь объединить две таблицы с одним и тем же столбцом, но с разными значениями, но каждый раз, когда я вывожу его дубликаты.PHP MYSQL JOIN: две аналогичные таблицы

Вот мой код:

<?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, но это просто проблема SQL IMHO. – alexandernst

+0

Ват ам тримг, чтобы сделать, это выбрать значения из двух таблиц с одинаковыми столбцами, но с разными значениями. Я попытался: SELECT * FROM $ dept2 JOIN $ dept4 Он выводит, но дублирует $ dept4, игнорируя $ dept2. –

ответ

0

Если вы ищете, чтобы получить содержимое двух таблиц с тем же колонна, MySQL UNION должен помочь

UNION используется для объединения результатов из несколько операторов SELECT в единый результирующий набор.

Как так:

$query = "(SELECT * FROM $dept2) 
      UNION 
      (SELECT * FROM $dept4)"; 
Смежные вопросы