Mysql
 sql >> Baza danych >  >> RDS >> Mysql

WYBIERANIE zawartości tabeli, która wynika z innej wartości

za pomocą PRZYPADKU KIEDY:

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;

Lepszym rozwiązaniem jest umieszczenie danych z tych różnych tabel w jednej tabeli i oddzielenie ich za pomocą identyfikatora typu




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wszelkie sugestie dotyczące rozwiązania ruby ​​do zapełniania bazy danych sqlite ze źródła mysql

  2. obraz nie jest pobierany z bazy danych przy użyciu ścieżki

  3. Serwer WAMP na zielono, ale uzyskaj tylko 404

  4. Zaloguj się na konto MySQL za pomocą unix_socket

  5. MySQL SUMA JEŻELI pole b =pole a