簡體   English   中英

根據另一個表中的字段更新列

[英]Update a column based on a field from another table

我想根據其他表中的相應值更新一個表中的值。 假設您要更新一個特定制造商提供的產品價格,這些制造商的名稱在表格Manufacturers ,其中包含僅包含制造商ID的Pieces表。

我在這里看到了幾個MySQL解決方案和MS SQL Server 但它們似乎都沒有在SQLite中運行。

有什么建議嗎?

你嘗試過這樣的事嗎?

UPDATE Pieces
SET price = 42
WHERE manufacturer_id = (
    SELECT id
    FROM Manufacturers
    WHERE Name = 'FooBar Inc.'
)

對於SQLite,UPDATE語句中沒有JOIN功能。 你唯一的選擇是制作相關的子查詢:

UPDATE pieces 
    SET price = (SELECT SUM(price)
                 FROM manufacturers
                 WHERE pieces.manufacture_id = manufacturers.id)
WHERE manufacture_id in (SELECT id
                         FROM manufacturers
                         WHERE name IN ('boo', 'foo'));

這不是很有效,但您可以根據自己的需要進行調整。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM