DB2-为公共主键选择多个键值

DB2-为公共主键选择多个键值,db2,Db2,我有以下数据 ID键值 1 K1 1 1 K2 2 2 K1 3 2 K2 4 3 K1 5 3 K2 6 我需要在DB2中从上面的表数据中进行选择,以显示如下内容- ID键1值键2值 1 K1 1 K2 2 2 K1 3 K2 4 3 K1 5 K2 6您必须将源表与其自身连接起来 一种可能的解决办法是: select t1.ID, t1.KEY as KEY1, t1.value, t2KEY as KEY2, t2.value from <tabname> t

我有以下数据

ID键值 1 K1 1


1 K2 2


2 K1 3


2 K2 4


3 K1 5


3 K2 6

我需要在DB2中从上面的表数据中进行选择,以显示如下内容-

ID键1值键2值 1 K1 1 K2 2


2 K1 3 K2 4



3 K1 5 K2 6

您必须将源表与其自身连接起来

一种可能的解决办法是:

select t1.ID, t1.KEY as KEY1, t1.value, t2KEY as KEY2, t2.value
  from <tabname> t1,
       <tabname> t2
 where t1.ID = t2.ID 
   and t1.KEY='K1'
   and t2.KEY='K2'
选择t1.ID,t1.KEY作为KEY1,t1.value,t2KEY作为KEY2,t2.value
从t1开始,
t2
其中t1.ID=t2.ID
和t1.KEY='K1'
和t2.KEY='K2'

请描述您的逻辑,不要让我们猜测。是否总是只有两个键(K1和K2)等…是的,只有两个键K1和K2,但值可能不同…请始终显式限定联接,不要使用隐式语法。一方面,它使一些关系变得更加清晰。