mysql - 只有两个条件之一的内部连接

标签 mysql

我有两个表:

1 - 类别

+--------+----------+
| id     | main_lang| 
+--------+----------+
|    1   |     ar   | 
|    2   |     en   | 
|    3   |     en   | 
+--------+----------+

2 - categories_data

+--------+----------+-----------+--------
| data_id|     lang  |  cat_id |  title
+--------+----------+-------------------
|    1   |     ar   |   1      | عنوان 1
|    2   |     en   |   1      | title 1
|    3   |     en   |   2      | title 2
|    4   |     en   |   3      | title 3
+--------+----------+-------------------

现在,我想列出所有类别,在 categories_data.lang = ar 上加入,如果该连接返回 null,则在 categories_data 上加入。lang=类别main_lang

最佳答案

乍一看,您可能想要使用存储过程和临时表来开发您想要达到的结果。虽然内联 CASE 或 ISNULL 可能有效,但效率非常低。

关于mysql - 只有两个条件之一的内部连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30690065/

相关文章:

mysql - 拆分巨大的mysql插入到多个文件建议

mysql - 解码json数据同时从mysql数据库查询数据

mysql - 简单的 SQL 连接查询(我认为)

mysql - 将额外的列添加到具有常量值的 sql 查询结果

mysql - 同一表上的 SQL 连接或子查询帮助

java - 为什么数据库连接在几次后失败

mysql - 加入两个表并保存到third-sql

php - 使用MySQL创建一个云项目

mysql - mysql中的正则表达式匹配前导0的数字

MySQL ORDER BY 不能使用 2-word 别名