table_a
billno desc qty amount
10324 orange -1 -1.00
10324 apple 1 3.00
10324 papaya 1 2.00
10431 water melon 1 2.00
10431 kiwi 1 3.00
10233 banana -1 -2.50
10233 mango 1 4.00
..
..
total 378 records
嗨,如果我不知道billno,如何使用select语句查询desc,qty和amount在billno中有负数?
我曾尝试使用 sign(number) 语法,但结果不正确。
select desc,qty,amount from table_a where sign(qty)='-1';
orange -1 -1.00
banana -1 -2.50
我的目标
orange -1 -1.00
apple 1 3.00
papaya 1 2.00
banana -1 -2.50
mango 1 4.00
非常感谢您的帮助。
可以用
EXISTS
在同一张表中查找同一个billno
是否有数量为负数的物品
WITH
table_a (billno,
item_desc,
qty,
amount)
AS
(SELECT 10324, 'orange', -1, -1.00 FROM DUAL
UNION ALL
SELECT 10324, 'apple', 1, 3.00 FROM DUAL
UNION ALL
SELECT 10324, 'papaya', 1, 2.00 FROM DUAL
UNION ALL
SELECT 10431, 'water melon', 1, 2.00 FROM DUAL
UNION ALL
SELECT 10431, 'kiwi', 1, 3.00 FROM DUAL
UNION ALL
SELECT 10233, 'banana', -1, -2.50 FROM DUAL
UNION ALL
SELECT 10233, 'mango', 1, 4.00 FROM DUAL)
SELECT *
FROM table_a a1
WHERE EXISTS
(SELECT 1
FROM table_a a2
WHERE a2.billno = a1.billno AND a2.qty < 0)