基本上我想在名为product(主要是衣服)的表中添加一个新列,其中包含2列: - ProductID(int) - path(varchar),类似于| x | y | z | (例如| 10 | 300 | 5 |含10表示该产品为女性布料,300件T恤,5件黄色)。
所以我想添加一个名为index的新列,以便在我的网站中为每个产品分配一个特定的位置(例如,第一张图片将是牛仔裤,第二张是外套,第3张是T恤等等......)我有8个区域,可以将这个区域扩展到8个区域,依此类推。
我正在尝试编写像这样的SQL更新函数:
UPDATE productsTable
SET indexproducts =
SELECT CASE path WHEN path LIKE %|1 for example|%
THEN my index (this index should indicate that the product can be included in the first zone or the 9th zone etc... of my website)
ELSE WHEN path LIKE %|200 for example|%
THEN my index ( for the second zone) ELSE etc?...
END
FROM productsTable.
有什么建议吗?
答案 0 :(得分:0)
语法示例:
update YourTable
set idx =
case
when path like '%least travelled%' then 1
when path like '%highway%' then 2
else 3
end
答案 1 :(得分:0)
我不了解你对indexproducts列中的内容的逻辑,但为什么不创建一个计算列:
alter table productsTable add indexproducts as
case path
when '1' then 'include on the first zone'
when '200' then 'second zone'
else '...'
end
然后你可以在indexproducts列上创建一个索引