Mysql 选择具有多个ID的内部联接

Mysql 选择具有多个ID的内部联接,mysql,inner-join,Mysql,Inner Join,如何从另一个表中读取80个不同的字段及其值? 而不是让查询太长 我需要把它们结合起来。 大约有80个字段 SELECT * FROM table_1 AS t1 INNER JOIN table_2 AS t2 ON ??? 我担心你必须这样做 SELECT t1.id ,t1.main_id, ,t1.web_ids ,t2.value as herstellerinterne_baureihebezeichnung ,t3.value as modell_start

如何从另一个表中读取80个不同的字段及其值? 而不是让查询太长

我需要把它们结合起来。 大约有80个字段

SELECT * FROM table_1 AS t1
INNER JOIN table_2 AS t2 ON ???

我担心你必须这样做

SELECT t1.id
  ,t1.main_id,
  ,t1.web_ids
  ,t2.value as herstellerinterne_baureihebezeichnung
  ,t3.value as modell_start 
  ... 
FROM table_1 AS t1
LEFT JOIN table_2 AS t2 ON t2.id = t1.herstellerinterne_baureihebezeichnung
LEFT JOIN table_2 AS t3 ON t3.id = t1.modell_start

usw.
对于所有80列。
或者,您可以构建一个存储过程,在该过程中,您可以自行构建一个select语句(循环所有列(不包括前3列)并执行它,但为此,您必须将表作为文本发布。

欢迎来到EAV模型的乐趣。您需要为每个字段将表_1连接到表_2一次。对于80个字段,您可能会发现在应用程序层中更容易执行此操作。请注意,如果表_1中的所有条目都具有相同的字段(如示例中所示)您也可以直接将值存储到表_1中,而不是使用另一个表(表_2)对于重复的字段来说,这将花费一些空间,但是你的查询速度会更快,而且存储通常比时间…TNX,我想我会在SQL中这样做,有两种标准的方法,其中一种是在相邻的通信中讨论的,但是考虑到在应用程序代码中处理数据显示的问题。