2013-08-27 46 views
1

我有一个表,如图用于显示值的Oracle SQL查询?

Amount  Debit  Credit Description 
------  -----  ------ ----------- 
275.00  275.00    Payroll 
500.00     500.00 Payroll 
288.00  288.00    Payroll 
500.00  500.00    Payroll 
600.00  600.00    Payroll 
988.00     988.00 Payroll 
600.00     600.00 Payroll 

和我想显示两个不同的数字作为由上述表

Amount  Debit  Credit Description 
------  -----  ------ ----------- 
500.00     500.00 Payroll 
500.00  500.00    Payroll 

Amount  Debit  Credit Description 
------  -----  ------ ----------- 
600.00  600.00    Payroll 
600.00     600.00 Payroll 

现在,问题如下所示什么是这个查询的Oracle SQL?

回答

0

像这样

select amount,debit,credit,Description 
from tablename 
where amount = 500 and amount = 600 
group by amount,debit,credit,description; 
0

请尝试:

SELECT 
Amount, 
Debit, 
Credit, 
Description 
FROM 
YourTable 
WHERE 
Amount IN (500.00, 600.00) 
ORDER BY Amount 
+0

@ user814064'500'和'600'是你想要的不是吗? – user75ponic

+0

@ user814064好的,问题没有太多描述。 – TechDo

+0

金额,借方,贷方和说明中的数据正在更改值 –

1

尝试使用EXISTS它。

SELECT a.* 
FROM tableName a 
WHERE EXISTS 
     (
      SELECT 1 
      FROM tableName b 
      WHERE a.Amount = b.Amount 
      GROUP BY Amount 
      HAVING COUNT(AMOUNT) = 2 AND 
        COUNT(Debit) = 1 AND 
        COUNT(Credit) = 1 
     ) 
+0

A ++++。这是一个完美的解决方案。 – dcaswell

+0

根据您编写的语法,当我使用它时,不会返回任何行。 –

0

SELECT * FROM表 其中 量(通过量从表 组选择量 ,描述 具有总和(借记卡,信用卡)= 0 )

但它更好地自我加入并与任何ID列分组(我相信你无线将在你的原始表格中)而不是数量。因为相同的金额可能会重复而不是等值的借方或贷方。