我有一个表reservation
,它有一个列,该列包含非规范化数据,如
6-1,7-2,8-3,9-4,12-7,
6
在6-7
中引用另一个表packages
的id。7
是6
的quantity
,包由,
分隔。
现在,我想使用JOIN
对这两个表进行REGEXP
。具有上述单元格(6-1,7-2,8-3,9-4,12-7,
)的行将检索用于6, 7, 8, 9 and 12
包ids的package
行。
请帮帮我。
答案:
谢谢@HamZa
但不幸的是,我不得不坚持使用当前的数据库。这不是我的系统是运行的。
这就是解决办法。这可能对任何面临同样情况的人都有帮助。
SELECT reservation.*, package.name PackageName FROM reservation, package WHERE reservation.packages REGEXP CONCAT('', package.id,'-[0-9]');
永远不要做这种愚蠢的数据库设计。
发布于 2014-05-21 03:32:24
虽然规范化不好,但不幸的是,我不得不坚持使用当前的数据库。这不是我的系统是运行的。
这就是解决办法。它可能会帮助任何面临同样情况的人。
SELECT reservation.*, package.name PackageName
FROM reservation, package
WHERE reservation.packages REGEXP CONCAT('', package.id, '-[0-9]');
永远不要做这种愚蠢的数据库设计。
https://stackoverflow.com/questions/23755076
复制相似问题