Mysql
 sql >> база данни >  >> RDS >> Mysql

Елиминирайте дублиращи се колони в MySQL лява заявка за присъединяване

Това може да се реши по два начина:

Използване само на SQL:

SQL Fiddle:http://www.sqlfiddle.com/#!2 /19d46/14

  SELECT case
       when c.text_choice = (select min(text_choice) from choice c2 where c2.id = q.id) then name_question
       else ""
       end as name_question,

       case
       when c.text_choice = (select min(text_choice) from choice c2 where c2.id = q.id) then text_question
       else ""
       end as  text_question,
       c.text_choice 

FROM question as q LEFT JOIN choice as c  
ON q.id = c.id
order by q.id, c.text_choice;

Резултат:

Q1  Q1_text C1
C2
C3
Q2  Q2_text C4
C5
C6

Използване и на PHP:

При първоначално гледане това може лесно да се постигне чрез PHP и подреждане на резултатите ви по name_question.

$query =    ' SELECT q.name_question, q.text_question, c.text_choice'.
                        ' FROM question as q '.
                        ' LEFT JOIN choice as c ' .
                        ' ON q.id_question = c.id_question '  order by q.name_question;

При показване на резултата:

$current_nameQuestion = "";    
foreach ($db->loadObjectList() as $obj){

        if($current_nameQuestion==$obj->name_question)
        {
           echo "       ".$obj->text_choice."</br>";
        }
        else
        {
           echo $obj->name_question." ".$obj->text_question." ".$obj->text_choice."</br>";
           $current_nameQuestion = $obj->name_question;
        }       
    }

Горният PHP код ще отпечата само стойностите на 2 колони, когато name_question вече не е изведено.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да преброя колоните на таблица

  2. Sqlite или MySql? Как да решим?

  3. Грешка се появява в sql при опит за добавяне на няколко външни ключа

  4. MySQL GROUP_CONCAT с нулеви стойности

  5. Друга UnicodeEncodeError при използване на метода pandas to_sql с MySQL