コードが AND、OR、および括弧で接続されているコード文字列があります。
コードがANDのみで接続されている複数のレコードを取得できるように、それらを分割したいと思います
AND は + で、OR は / で表されます。
たとえば、次の2つのレコードがある場合
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 は部品 A と部品 B と一致する必要があります
製品 3 は部品 A と一致する必要があります
助けてくれてありがとう。