我基本上有结果网格,我的应用程序上有一个下拉菜单,用于过滤“运营商”列。但是当选择某个运营商时,我希望返回的所有行与已选择的运营商具有相同的dr_id。
例如,如果您查看附加的图片,它会显示我的结果网格。如果我按运营商'ACE CALL LTD_UK'过滤,那么我想要返回第27,28,29和30行,因为dr_id是相同的。
由于
答案 0 :(得分:1)
我没有完整的解决方案,因为我不确切知道您的数据库架构是什么(并且它是一个大型存储过程!)。不过,我确实有一些您可能会发现有用的建议/意见:
我假设当过滤器设置为'ACE CALL LTD_UK'时,存储过程当前将返回单行,如果没有,那么这可能不相关!
在这种情况下,我要做的是带你SELECT
语句并将结果放入CTE
,临时表或嵌套查询。 (我不确定你使用的是什么SQL DBMS,看起来像MSSQL,但你也有一个MySQL标签发布)。
一旦我得到了这些结果,我就会使用临时表中LEFT JOIN
的{{1}}返回到同一列的dr_id
表。从这里开始,您将再次需要加入其他数据不相同的表,例如drm
表,然后选择所需的列。
您可以在现有的Carrier
语句中执行所有这些操作,但是您必须多次开始加入表或使用嵌套查询,这会非常混乱。然而,我选择我发布的解决方案的主要原因是因为我不太了解存储过程,因此我选择了最安全的解决方案。
如果你想要一个我的意思的例子,我会尝试提供一个。