使用mysql计算和加入序列化数据

时间:2013-08-27 19:52:39

标签: mysql

我正在使用的数据库有两个与序列化(卷积)数据链接的表。第一个表是:

Table1
CarID  Car
1      BMW
2      Porsche
3      Lexus

第二个表是:

Table2
ColorID Value
1       a:@!"1",asf@"2"
2       b:af"3", asf"1"
3       a:2f"1",asfl@"3"

双引号内的数字是指表1中的CarID。它很复杂,但它是软件的一部分,我不能改变数据库结构。

我需要做的是创建一个查询,确定表2中每辆车的链接次数。在这种情况下,输出将是:

BMW - 3
Porsche - 1
Lexus - 2

是否有查询可以执行此操作?

1 个答案:

答案 0 :(得分:3)

如果你真的无法改变你的数据结构......你可以使用这样的查询:

SELECT
  Table1.CarID,
  Table1.Car,
  COUNT(*)
FROM
  Table1 INNER JOIN Table2
  ON Table2.Value LIKE CONCAT('%"', Table1.CarID, '"%')
GROUP BY
  Table1.CarID,
  Table1.Car

请参阅小提琴here