本文介绍了在此表中首先我需要检查(1-1match)然后(1-many)然后显示结果的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在金额表中我需要检查(1-1)匹配然后(1-many)匹配

金额:

Amtsign Id Amt

+ ve。 1 100

+ ve。 1 100

-ve。 1 -100

+ ve。 1 100

-ve。 1 -200

-ve。 2 -200

-ve。 2. -200

+ ve。 2 400

结果应显示为:

Amtsign Id Amt Amtsign Id Amt

+ ve。 1 100. -ve。 1 -100(1-1)

+ ve。 1 100. -ve。 1 -100。 (1米)

+ ve。 1 100. -ve。 1 -100(1-m)

+ ve。 2 200. -ve。 2 -200(1-m)

+ ve。 2 200. -ve。 2 -200(1-m)



我尝试过:



选择 * 金额  id,amtsign   amtsign = '  + ve'
内部 join
选择 * 金额 group id,签名 amtsign = ' - ve')b
On a.Amt = b.Amt

我无法在on function中聚合值,让我知道如何获得上述结果

解决方案

我认为它必须是:

选择 * 来自金额)a 
内部 加入金额b
开启 a.Amt = b.Amt
id, amtsign amtsign = ' + ve' OR amtsign = ' - ve'

或者:

选择 * 来自金额  id,amtsign  amtsign = '  + ve')a 
UNION
选择 * 金额 group id,签名 amtsign = ' - ve')b


In the amount table I need to check for (1-1) match and then the (1-many) match
Amount :
Amtsign Id Amt
+ve. 1 100
+ve. 1 100
-ve. 1 -100
+ve. 1 100
-ve. 1 -200
-ve. 2 -200
-ve. 2. -200
+ve. 2 400
Result should be displayed as :
Amtsign Id Amt Amtsign Id Amt
+ve. 1 100. -ve. 1 -100 ( 1-1 )
+ve. 1 100. -ve. 1 -100. ( 1-m)
+ve. 1 100. -ve. 1 -100 (1-m)
+ve. 2 200. -ve. 2 -200 (1-m)
+ve. 2 200. -ve. 2 -200 (1-m)

What I have tried:

(Select * from amount group by id,amtsign having amtsign ='+ve ' ) a 
Inner join 
(Select * from amount group by id,sign having amtsign ='-ve' ) b 
On a.Amt = b.Amt

I can't Aggregate the values in " on function ", let me know how to get above result

解决方案
I think it needs to be:

(Select * from amount) a 
Inner join amount b 
On a.Amt = b.Amt
group by id,amtsign having amtsign ='+ve ' OR amtsign ='-ve'

Or:

(Select * from amount group by id,amtsign having amtsign ='+ve ' ) a 
UNION
(Select * from amount group by id,sign having amtsign ='-ve' ) b 


这篇关于在此表中首先我需要检查(1-1match)然后(1-many)然后显示结果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-29 23:49