The `N/query` module in NetSuite creates and runs queries using the SuiteAnalytics Workbook query engine. This module allows you to extract specific information from NetSuite records using SQL-like syntax, advanced filtering, and support for multi-level joins¹.
Query Definition
A query definition in `N/query` involves specifying the data you want to retrieve. This includes:
– **Columns**: The fields you want to include in your results.
– **Conditions**: Filters to narrow down the data.
– **Joins**: Relationships between different record types.
Here’s an example of defining a query to retrieve customer records:
define(['N/query'], function(query) {
var myQuery = query.create({
type: query.Type.CUSTOMER
});
myQuery.columns = [
myQuery.createColumn({ fieldId: 'entityid' }),
myQuery.createColumn({ fieldId: 'email' })
];
myQuery.condition = myQuery.createCondition({
fieldId: 'email',
operator: query.Operator.ISNOTEMPTY
});
return myQuery;
});