Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Nhận bản dịch từ một bảng bằng cách luôn bao gồm tất cả các ngôn ngữ ngay cả khi không có bản dịch cho nó

Bạn sẽ cần tạo tất cả các tổ hợp translationstranslation_languages trong một truy vấn con. Sau đó, thực hiện LEFT JOIN sang translation_details về id và ngôn ngữ dịch.

SELECT
    * 
FROM
(
  SELECT * 
  FROM translations AS t
  CROSS JOIN translation_languages AS tl
) AS dt 
LEFT JOIN translation_details AS td ON td.translation_id = dt.id 
                                       AND td.language_code = dt.language_code



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL là chỉ mục của tôi có tốt không?

  2. Laravel whereIn HOẶC whereIn

  3. truy vấn mysql với trình tạo truy vấn Yii

  4. Cảnh báo:mysqli_connect ():(HY000 / 1049):Cơ sở dữ liệu không xác định chỉ trong thiết bị đầu cuối mac

  5. NHÓM SQL BẰNG:các khoảng trong tính liên tục?