sql - MySQL LEFT JOIN 中的多个变量

标签 sql mysql join left-join

我的表日期如下

"dates"  "one" "two"  "three" "four"
date1    id1    id2    id3    id4
date2    id3    id1    id4    id2

和第二个表id2name

"ids"  "names"
id1    name1
id2    name2
id3    name3
id4    name4

我在写作时遇到了心理障碍

SELECT * FROM dates WHERE `date`='$date' LEFT JOIN `id2name` ON ...

我应该在 ON 中放入什么子句来获取名称而不是 ID?

最佳答案

您的模型看起来是非规范化的,但这应该可以帮助您开始:

SELECT
  d.`date`,
  i1.names AS name1,
  i2.names AS name2,
  ...
FROM dates d
LEFT JOIN `id2name` i1 ON ( i1.ids = d.one )
LEFT JOIN `id2name` i2 ON ( i2.ids = d.two )
...
WHERE `date`='$date'

关于sql - MySQL LEFT JOIN 中的多个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3861770/

相关文章:

php - 如何在添加行时获取表列的值

javascript - 需要帮助将数组分成 SQL 部分

mysql - 获取列中允许的最大长度,mysql

mysql - 获取每个订单的成本和时间

php - 如何使用sql查询从另一个表中获取数据?

sql - 基本 SQL SUM 和 JOIN

sql - Databricks SQL - 如何在第一次运行中获取所有行(超过 1000)?

如果数据库或表不存在,MySQL 就会死掉

mysql - 使用/用户输入连接三个表

mysql - 尝试计算此在线用户正在处理的订单