0
我有一个管理客户端的材料请求的应用程序。在这个应用程序中,每个MaterialRequest都必须有一个地址,但是,有时这不会发生,我必须修复它!在表中创建条目并分配给另一个对象的SQL查询
我的解决方案是创建一个defaultaddress并将其分配给AddressId为空的订单。
UPDATE MaterialRequest
SET AddressId = INSERT INTO Address(Complement) VALUES ('');
WHERE AddressId is NULL;
但是,以前的代码不起作用,我不知道如何在SQL中做类似的事情。
我该怎么做?
哪个DBMS? sqlserver <> mysql – 2015-03-13 13:30:05
Ops,sqlserver。我现在将修复标签! – 2015-03-13 13:30:50
你必须分两步进行。插入地址表,然后将AddressId设置为新地址的ID。当然,如果你在一个像这样的Update语句中做了这个,那么这将使所有的NULL地址指向同一个地址ID,我猜这不是你想要的。我是否认为你想在Address中为MaterialRequest中的每一行创建一行为NULL的行,然后将它们连接起来? – pmbAustin 2015-03-13 13:35:42