【问题标题】:Matching text in 1 table column to part of string in another table column将 1 个表列中的文本与另一个表列中的部分字符串匹配
【发布时间】:2012-10-11 10:14:50
【问题描述】:

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

产品

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 包含文本“黄色”,黄色样本图像将出现在屏幕上,橙色等。

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

任何帮助将不胜感激。

【问题讨论】:

标签: php mysql sql


【解决方案1】:

试试这样的:

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

虽然如果你有黄色、黄色2等颜色,那可能会有点梨形。

【讨论】:

  • 我似乎无法让它工作,所以我改变了我的表我现在有一个像这样的链接表 Product Color table Prod Num |颜色_ID 1 | 2 1 3 基本上每个 colour_id 对应于“颜色”表中的一种特定颜色,我想如果 Product_ID 等于产品表中的产品 ID,并且 colour_ID 等于颜色表中的 Colour_ID,则输出存储在颜色表(我希望这是有道理的!)
猜你喜欢
  • 2021-04-19
  • 1970-01-01
  • 2014-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-10
  • 2021-08-02
  • 2021-07-12
相关资源
最近更新 更多