获取参考列中提到的值

时间:2018-04-26 02:23:37

标签: sql

我想连接两个表(Table1,Table2),它们应该返回table1引用列(12,14,18,19)中提到的引用的状态。 Table2具有ID的信息,这些ID映射到各行中的引用,如下所示。

表1:

列的数据类型是:ID是整数类型,名称是字符变化,引用是字符变化,状态是字符变化。

ID  Name    reference  status
10  PAX11   12,14,18   Undelivered
11  PAX193             Undelivered
12  ASD1               delivered
14  PAA                delivered
90  PQA     19         Undelivered
18  PX                 Halt
19  ONA                delivered

表2: 3列以下是整数类型。

sno  ID   reference
1    4    100
2    10   12
3    10   14
4    10   18
5    90   19

1 个答案:

答案 0 :(得分:2)

评论太长了。

您的数据模型错误。你应该努力修复它。正确的解决方法是让另一个表,每id行和sno行。这称为结点或关联表。

数据模型有什么问题?问题是reference列。让我数一下方法:

  • 列应包含单个值,而不是多个值。
  • 数据类型对于值应该是正确的,因此不应将数字存储在字符列中。
  • 应正确定义外键。你不能用字符串列表做到这一点。
  • 关系数据库的字符串处理能力相对较弱。
  • 使用reference的查询无法使用索引,统计信息可能会产生误导。
  • 关系数据库具有这些用于存储列表的优秀结构。它们被称为,而不是字符串