2 回答

TA貢獻1827條經驗 獲得超9個贊
如果我了解您的問題,我相信您正在尋找的是參數化您的查詢。這是一個可能的解決方案。由于我沒有任何 DDL 或數據,因此我提供了自己的。我看到的表。
CREATE TABLE sample (
id NUMBER,
grpnumber NUMBER,
subject VARCHAR2(255),
mark NUMBER
);
表中的數據。
REM INSERTING into SAMPLE
SET DEFINE OFF;
Insert into SAMPLE (ID,GRPNUMBER,SUBJECT,MARK) values (1,101,'Eng',88);
Insert into SAMPLE (ID,GRPNUMBER,SUBJECT,MARK) values (1,101,'Math',93);
Insert into SAMPLE (ID,GRPNUMBER,SUBJECT,MARK) values (2,102,'Eng',76);
Insert into SAMPLE (ID,GRPNUMBER,SUBJECT,MARK) values (2,102,'Math',83);
使用綁定變量的潛在查詢
SELECT
id studentid,
grpnumber,
lower(subject) subject,
mark
FROM
sample s
WHERE (s.id = :id1 AND lower(subject) = 'eng') OR
(s.id = :id2 AND lower(subject) = 'math')
提供給綁定變量的值是 .
:id2 = 1
:id1 = 2
結果:
"STUDENTID" "GRPNUMBER" "SUBJECT" "MARK"
1 101 "math" 93
2 102 "eng" 76

TA貢獻1813條經驗 獲得超2個贊
基本上查詢看起來像這樣
where (studentId = 1 AND subject = 'eng') OR (studentId = 2 AND subject = 'math')
如何使這種動態真正取決于應該動態的內容和方式......
添加回答
舉報