我有一个代码字符串,其中代码与 AND、OR 和括号连接。
我想拆分它们,以便获得多条记录,其中代码仅通过 AND 连接
AND 用 + 表示,OR 用 / 表示
例如,如果我有以下两条记录
Phrase Translates to:
======= ==============
(A/B)+C (A OR B) AND C
(D+E)/F (D AND E) OR F
结果应该是
Expression Translates to:
======= ==============
A+C A AND C
B+C B AND C
D+E D AND E
F F
我的 SQL 语法如下所示:
CREATE TABLE Code_Conditions(
Part AS CHAR(10),
Condition AS VARCHAR(255)
);
CREATE TABLE Product(
Product_ID AS INT PRIMARY KEY,
Code_String AS VARCHAR(255)
);
CREATE TABLE Product_Parts(
Product_ID AS INT FOREIGN KEY REFERENCES Product (Product_ID),
Part AS CHAR(10)
);
INSERT INTO Code_Conditions (Part, Condition) VALUES ('PartA', '(A/B)+C');
INSERT INTO Code_Conditions (Part, Condition) VALUES ('PartB', '(D+E)/F');
INSERT INTO Product(Product_ID, Code_String) VALUES ( 1, 'A+B+D');
INSERT INTO Product(Product_ID, Code_String) VALUES ( 2, 'B+C+F');
INSERT INTO Product(Product_ID, Code_String) VALUES ( 3, 'B+C+D');
产品 1 不应匹配任何部件
产品 2 应匹配 PartA 和 Part B
产品 3 应匹配 PartA
感谢您的任何帮助。