gpt4 book ai didi

sql - 选择具有特定逻辑的语句

转载 作者:行者123 更新时间:2023-12-02 22:17:17 25 4
gpt4 key购买 nike

我在 SQL Server 2008 R2Microsoft Dynamics AX ERP 数据库中有一个,其中有一些行,有一个字段名为表中的数量,有些行的数量为负数,有些行的数量为正数。还有另一个字段 TransactionID,现在我想选择所有那些具有负数量的 TransactionID,以及那些具有正 QTys 和负 qtys 的行的那些 TransactionID。

TransactionID 是主表的外键字段。

到目前为止,我编写了以下无法正常工作的代码。

select * from RBOTRANSACTIONSALESTRANS main where main.qty < 0 
and main.DATAAREAID = 'DAT'
and exists
(
select 1 from RBOTRANSACTIONSALESTRANS where QTY > 0
and RBOTRANSACTIONSALESTRANS.DATAAREAID = main.DATAAREAID
and RBOTRANSACTIONSALESTRANS.STORE = main.STORE
and RBOTRANSACTIONSALESTRANS.TERMINALID = main.TERMINALID
)

order by main.TRANSACTIONID

最佳答案

回顾一下,您想选择所有行,其中至少有一行具有相同的 TransactionID,但数量为负数?

select * 
from RBOTRANSACTIONSALESTRANS main
where main.DATAAREAID = 'DAT'
and exists
(
select 1
from RBOTRANSACTIONSALESTRANS sub
where sub.QTY < 0
and sub.DATAAREAID = main.DATAAREAID
and sub.STORE = main.STORE
and sub.TERMINALID = main.TERMINALID
and sub.TRANSACTIONID = main.TRANSACTIONID
)
order by main.TRANSACTIONID

主要区别在于,您有一个 main.QTY < 0查看。我添加了 sub.TRANSACTIONID = main.TRANSACTIONID .

关于sql - 选择具有特定逻辑的语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14256099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com