subquery - 编写子查询以在网格中显示记录
问题描述
我有两个 DAC 的 POReceipt 和 POReceiptLine。POReceiptLine 包含一个名为 MfrPartNbr 的字段。
我希望用户能够查找 POReceiptLine.MfrPartNbr 等于输入值的所有 POReceipts。
SQL 将是 SELECT * FROM dbo.POReceipt WHERE POReceipt.ReceiptNbr IN ( SELECT ReceiptNbr FROM dbo.POReceiptLine WHERE MfrPartNbr = 'MY_ENTERED_PART_NBR' )
知道如何为此编写 BQL 语句吗?
解决方案
如前所述,在这种情况下,内连接不起作用,因为您将多次收到相同的 POReceipt(每个 POReceiptLine 一次)。以下 BQL 查询显示了如何使用子查询获得所需的结果。如果 mfrPartNbr 是扩展字段,则将 POReceiptLine.mfrPartNbr 替换为正确的扩展名(例如 POReceiptLineExtension.mfrPartNbr)。
PXSelect<POReceipt, Where<Exists<
Select<POReceiptLine,
Where<POReceiptLine.receiptNbr, Equal<POReceipt.receiptNbr>,
And<POReceiptLine.mfrPartNbr, Equal<Required<POReceiptLine.mfrPartNbr>>>>>>>>.Select(this, "MY_ENTERED_PART_NBR");
推荐阅读
- javascript - 不能将下拉菜单的 innerHTML 设置为等于数组的变量
- javascript - 在jQuery中处理多个复选框
- python - 降维后使用选定变量会引发值错误
- python - 当我点击两个点时,有没有办法绘制一个特定的值?
- ios - 一旦我在嵌套 CollectionView 的内部 CollectionView 中添加约束,它就会开始一个永无止境的循环
- apache-spark - Spark 驱动程序中的内存泄漏
- java - vsd文件下载问题
- javascript - 如何在猫鼬中查询对象数组内的值
- android - 我如何从任何网站构建原生 android 应用程序(不是网站转换为应用程序)
- amazon-web-services - AWS Boto3:请求中包含的安全令牌对 AWS FORECAST 无效