【问题标题】:Lookup value in mysql select statement在 mysql select 语句中查找值
【发布时间】:2017-09-25 06:10:48
【问题描述】:

我有一张这样的桌子:

ID | IDS_table2
1  | 1,2
2  | 3
3  | 4,5,6

和table2一样:

ID | Value
1  | Value1 
2  | Value2 
3  | Value3 
4  | Value4 
5  | Value5
6  | Value6  

我需要在 table1 的 select 语句中从 table2 中选择值:

ID | Value_tbl2
1  | Value1,Value2
2  | Value3
3  | Value4,Value5,Value6

有可能吗?

【问题讨论】:

  • 听起来您正在寻找INNER JOIN,尽管您当然应该在table1 中拆分您的ID,可能通过一个桥接表。
  • 你有能力将Value_tbl2分成两列吗?
  • @Obsidian,是的,他需要一个内部连接,但首先他需要处理的是不正确的数据。永远不要将逗号分隔的值存储在数据库中。
  • 黑曜石是错误的。您将从适当的标准化中受益,这不是一回事。
  • 显然,最好的方法是更改​​数据库架构。您需要解释一下,您是否只需要查询数据的帮助或有关结构化表和关系的建议。

标签: mysql select


【解决方案1】:

规范化的表格可能如下所示:

ID | value_id
1  | 1
1  | 2
2  | 3
3  | 4
3  | 5
3  | 6

【讨论】:

  • 你的假设是 Id 不是身份
  • 八进制码。这不是假设。规范化要求它是这样的。
  • 我无法修改数据库架构...我需要另一种解决方案。一个mysql程序?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-10-04
  • 2015-04-03
  • 2020-05-31
  • 2012-01-16
  • 1970-01-01
  • 2016-01-04
  • 1970-01-01
相关资源
最近更新 更多