SuiteQL使用多列IN运算符执行查询报错的技术问询
Hey there, I totally get the frustration here—your Oracle syntax works perfectly, but SuiteQL has its own set of supported syntax rules that don't match Oracle 1:1. Let's get your query working.
The Root Issue
SuiteQL doesn't support the multi-column IN syntax you're using ((column1, column2) IN ((val1, val2))). That's exactly why you're seeing the "Invalid or unsupported search" error.
Solution 1: Single Multi-Column Condition
Since your example only has one pair of values to match, you can rewrite the query using simple AND conditions to achieve the exact same logic:
SELECT * FROM transactionline WHERE transactionline.department = '11' AND transactionline.cseg_grant = '1'
Solution 2: Multiple Multi-Column Conditions
If you ever need to match multiple pairs of values (e.g., ((11,1), (12,2))), you can chain them using OR combined with grouped AND conditions:
SELECT * FROM transactionline WHERE (transactionline.department = '11' AND transactionline.cseg_grant = '1') OR (transactionline.department = '12' AND transactionline.cseg_grant = '2')
Why This Works
SuiteQL is built on NetSuite's underlying query engine, which doesn't fully replicate Oracle's syntax features. While Oracle allows that concise multi-column IN shorthand, SuiteQL requires you to explicitly define combined conditions using AND/OR pairs to get the same result.
内容的提问来源于stack exchange,提问作者Hrusikesh Bunu

