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

MEMILIH isi Tabel, yang merupakan hasil dari nilai lain

menggunakan KASUS KAPAN:

SELECT *, (
    SELECT `TableName` FROM `TableNames` WHERE `TableID`=`IndexType`
) AS `IndexTypeName`, 
CASE 
    WHEN IndexType=1 THEN (SELECT Username FROM Users WHERE IndexRowID=UserID) 
    WHEN IndexType=2 THEN (SELECT MessageContent FROM Messages WHERE IndexRowID=MessageID) 
    WHEN IndexType=3 THEN (SELECT CommentContent FROM Comments WHERE IndexRowID=CommentID) END TableValue
ORDER BY `IndexTime` DESC;

Solusi yang lebih baik adalah dengan meletakkan data dari tabel yang berbeda dalam satu tabel dan menggunakan typeid untuk memisahkannya




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah MySql Memiliki dukungan xml seperti SQL Server?

  2. Pernyataan MySQL membutuhkan waktu lebih dari satu menit untuk dieksekusi

  3. Abaikan kriteria WHERE tertentu

  4. Apa perbedaan antara menggunakan INDEX vs KEY di MySQL?

  5. Dapatkan ID kunci utama rekaman baru dari kueri penyisipan MySQL?