,所以我有这样的代码SQL MATCH LIKE,使ID彼此相等
SELECT NAME, ingredient_id
FROM ingredient_aliases
WHERE (NAME) LIKE '%WATER%'
它显示了我所有的类似名称的水
从上图中,所有三个是水。
我有很多水的名称与成分_id。 有没有一种方法可以让他们的ingredient_id彼此相等?
如果您需要更多信息,请告诉我。 谢谢!
,所以我有这样的代码SQL MATCH LIKE,使ID彼此相等
SELECT NAME, ingredient_id
FROM ingredient_aliases
WHERE (NAME) LIKE '%WATER%'
它显示了我所有的类似名称的水
从上图中,所有三个是水。
我有很多水的名称与成分_id。 有没有一种方法可以让他们的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
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
是所有水域一样。
目前还不清楚你在做什么后,你的问题中的样本数据如何以期望的结果? – 2015-02-06 17:37:55
您使用的是什么RDBMS? MySQL,SQL-Server,Oracle等?根据数据库有不同的方法来做到这一点。 – Barmar 2015-02-06 17:46:10
@Barmar即时通讯使用MySQL,是否有任何命令像“set ingredient_id equal”在SQL中,我可以使用? – Student 2015-02-06 17:52:24