如何编写SuiteQL语句关联Item表与含多选字段的自定义记录
解决SuiteQL关联多选字段的问题
在NetSuite中,多选字段(比如你用到的custrecord_rebate_items_included)并非直接存储单个Item ID,而是以多值形式存放在自动生成的连接表中,直接用=做JOIN条件无法匹配到正确记录,以下是正确的写法:
基础关联语句
SELECT item.id FROM item JOIN CUSTOMRECORD_REBATE_AGREEMENT_DETAIL cr JOIN CUSTOMRECORD_REBATE_AGREEMENT_DETAIL_custrecord_rebate_items_included cr_item ON cr.id = cr_item.parent AND cr_item.value = item.id
补充说明
- NetSuite对自定义记录的多选字段会生成专属连接表,命名规则为
[自定义记录ID]_[多选字段ID],这里就是CUSTOMRECORD_REBATE_AGREEMENT_DETAIL_custrecord_rebate_items_included - 连接表中
parent字段对应自定义记录的ID,value字段对应关联的Item ID,通过这两个字段完成关联 - 若需避免同一Item重复返回,可添加
DISTINCT关键字:
SELECT DISTINCT item.id FROM item JOIN CUSTOMRECORD_REBATE_AGREEMENT_DETAIL cr JOIN CUSTOMRECORD_REBATE_AGREEMENT_DETAIL_custrecord_rebate_items_included cr_item ON cr.id = cr_item.parent AND cr_item.value = item.id
内容的提问来源于stack exchange,提问作者Laura Drill
相关产品推荐
相关产品推荐

