【发布时间】:2018-11-09 00:04:43
【问题描述】:
我有两张表 products 和 product_edits 保存价格表上的产品信息。我的应用程序的工作方式是,如果用户更改 products 表中的任何产品信息,它会将其插入到 product_edits 表中......
产品表
pk|code|name |description|price|....
-----------------------------------
1 |QW1X|Product 1|...
2 |LW1X|Product 2|...
3 |DE1X|Product 3|...
PRODUCT_EDITS 表
pk|product_id|code|name |description|price|....
-----------------------------------
1 | 2|LW1X|Product 2 new name|...
在上述情况下,我想要一个从两个表中返回记录的 SQL,但如果在 product_edits 表中找到产品,它只会从 product_edits 中选择,而不是从 products 表中选择。
我尝试使用标准联合但从两个表中选择所有记录:
select code, name, description from products
union
select code, name, description from product_edits
【问题讨论】:
-
您是否在该表中保留了多个产品编辑 - 即,如果您将 LW1X 更新为“产品 2 新名称”,那么您会在 product_edits 中有两条记录,还是只有一条?如果是后者,我会问重点是什么(为什么不只是更新产品?),如果是前者,您将需要处理您的子选择。