Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Hilangkan duplikat kolom di MySQL kiri gabung permintaan

Ini dapat diselesaikan dengan dua cara:

Hanya Menggunakan SQL:

SQL Fiddle:http://www.sqlfiddle.com/#!2 /1946/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;

Hasil:

Q1  Q1_text C1
C2
C3
Q2  Q2_text C4
C5
C6

Menggunakan PHP juga:

Pada tampilan awal, ini dapat dengan mudah dilakukan melalui PHP dan mengurutkan hasil Anda dengan 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;

Saat menampilkan hasilnya:

$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;
        }       
    }

Kode PHP di atas, hanya akan mencetak 2 nilai kolom ketika name_question belum dikeluarkan.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Perbarui nilai kolom, ganti bagian dari string

  2. Sisipan Bersyarat MySQL

  3. Cara Menyebarkan MySQL di Ubuntu dan Dikelola Sepenuhnya

  4. Menggabungkan 3 tabel/kueri menggunakan MS Access Union Query

  5. Dukungan MySQL untuk Python yang tidak berada di bawah Lisensi Seperti GPL