SQL MATCH LIKE,使id彼此相等
SQL MATCH LIKE, make the id equal to each other
所以我有这个代码
SELECT NAME, ingredient_id
FROM ingredient_aliases
WHERE (NAME) LIKE '%WATER%'
它显示了所有与 WATER
相似的名字
从上图来看,三个都是水
我有很多 WATER 名称都是 NULL ingredient_id。
有没有办法让他们的 ingredient_id 彼此相等?
如果您需要更多信息,请告诉我。
谢谢 !
You want to UPDATE the NULL value to be 666?
@Hart CO yes, exactly
我认为你需要这样的东西:
UPDATE ingredient_aliases
SET ingredient_id = 666
WHERE (NAME) LIKE '%WATER%' AND
ingredient_id IS NULL
我假设 ingredient_id
对于所有水域都是一样的。
使用子查询从非空行中获取成分 ID。然后在所有空行的 UPDATE
赋值中使用它。
UPDATE ingredient_aliases
SET a.ingredient_id =
(SELECT MAX(ingredient_id) AS max_id
FROM ingredient_aliases
WHERE name LIKE '%WATER%'
AND ingredient_id IS NOT NULL)
WHERE name LIKE '%WATER%'
AND ingredient_id IS NULL
所以我有这个代码
SELECT NAME, ingredient_id
FROM ingredient_aliases
WHERE (NAME) LIKE '%WATER%'
它显示了所有与 WATER
相似的名字从上图来看,三个都是水
我有很多 WATER 名称都是 NULL ingredient_id。 有没有办法让他们的 ingredient_id 彼此相等?
如果您需要更多信息,请告诉我。 谢谢 !
You want to UPDATE the NULL value to be 666?
@Hart CO yes, exactly
我认为你需要这样的东西:
UPDATE ingredient_aliases
SET ingredient_id = 666
WHERE (NAME) LIKE '%WATER%' AND
ingredient_id IS NULL
我假设 ingredient_id
对于所有水域都是一样的。
使用子查询从非空行中获取成分 ID。然后在所有空行的 UPDATE
赋值中使用它。
UPDATE ingredient_aliases
SET a.ingredient_id =
(SELECT MAX(ingredient_id) AS max_id
FROM ingredient_aliases
WHERE name LIKE '%WATER%'
AND ingredient_id IS NOT NULL)
WHERE name LIKE '%WATER%'
AND ingredient_id IS NULL