我有一个代码字符串,其中代码与 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
感谢您的任何帮助。