假设我有两张桌子:
CREATE TABLE state (
id TINYINT,
state CHAR(2),
PRIMARY KEY (id)
);
CREATE TABLE valid_state (
id INT,
state CHAR(2), # or stateId TINYINT or whatever
productId INT
);
如果产品只能在 CA 中销售,则它在 valid_state 中只有一个条目。如果它可以在所有州出售,则 valid_state 中不会有任何条目。如果它不能在任何状态下出售,则需要在未定义的产品表中禁用该产品。
我的问题是:如何选择给定产品的所有有效状态?理想情况下,我想从 valid_state 中进行选择,看看它是否为空,如果是,则返回所有状态。不幸的是,我不知道该怎么做。
有任何想法吗?
(另外,fwiw,我没有设计架构,所以建议我改变它并没有太大帮助)