php - 将 1 个表列中的文本与另一个表列中的部分字符串匹配

标签 php mysql sql

我正在尝试将一个表中一列中的文本与第二个表中一列中的字符串的一部分进行匹配,如果匹配,则图像将输出到我的网页上。下面是一个例子

产品

ID | Prod_Code | Colours
1    100         Yellow, Orange, Navy

颜色

ID | Colour | Image Link
1    Yellow   Yellow swatch image
2    Orange   Orange swatch image

我想要实现的是,如果 products.colours 包含文本“黄色”,黄色样本图像将出现在屏幕上,橙色等也是如此。

我知道应该对表格进行规范化以获得最佳实践,但不幸的是,这不是我设计的,而且有时间限制。

如有任何帮助,我们将不胜感激。

最佳答案

尝试这样的事情:

SELECT p.Prod_Code, c.Image_Link 
FROM Products AS p
  INNER JOIN Colours AS c 
  ON p.Colour LIKE '%' + c.Colour + '%' ;

尽管如果您有 YELLOW、YELLOW2 等颜色,那可能会有点梨形。

关于php - 将 1 个表列中的文本与另一个表列中的部分字符串匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12837250/

相关文章:

mysql - 在 MySQL 中将 2 行连接成单行

php - 使用 PDO 进行行计数

sql - SQL 查询后删除重复列

php - 如何在 Laravel 中创建数据透视表

javascript - jQuery 对话框的问题

php - 如何从 mysql 表中获取自增字段名或主键字段名?

python - 如何在两个 Django 应用程序之间移动模型(Django 1.7)

SQL 服务器 : weird Invalid object name

mysql - SQL 查询 - 按最长加载时间排列的文件列表

PHP fork 进程未完全退出并成为僵尸进程