我有一个表reservation
,其中包含一个非标准化数据的列,如
6-1,7-2,8-3,9-4,12-7,
6
中的6-7
指的是另一个表packages
的ID。对于7
,quantity
为6
,而且,
分隔了包。
现在我想使用JOIN
REGEXP
这两个表。具有上方单元格(6-1,7-2,8-3,9-4,12-7,
)的行将检索package
包ID的6, 7, 8, 9 and 12
行。
请帮帮我。
答案:
谢谢@HamZa
但不幸的是,我必须坚持使用当前的数据库。它不是我的,系统是运行系统。
这是解决方案。任何面对同样情况的人都可能会有所帮助。
SELECT reservation.*, package.name PackageName FROM reservation, package WHERE reservation.packages REGEXP CONCAT('', package.id,'-[0-9]');
永远不要做这种愚蠢的数据库设计。
答案 0 :(得分:0)
虽然规范化很糟糕,但不幸的是我必须坚持使用当前的数据库。它不是我的,系统是运行系统。
这是解决方案。 任何遇到同样情况的人都可能会有所帮助。
SELECT reservation.*, package.name PackageName
FROM reservation, package
WHERE reservation.packages REGEXP CONCAT('', package.id, '-[0-9]');
永远不要做这种愚蠢的数据库设计。