Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 当两个相等的数字在两个表的同一列中时查找_Postgresql - Fatal编程技术网

Postgresql 当两个相等的数字在两个表的同一列中时查找

Postgresql 当两个相等的数字在两个表的同一列中时查找,postgresql,Postgresql,我有两张这样做的桌子: tb1: tb2: 预期查询的结果如下: tfr: 从两个表的第7列中tb1.id=1和tb2.id=1的第一行开始,有两个相等的值, 因此,编号77将显示在第7行的fr11列中,而在同一列的其他行中,将显示破折号 在两个表的第1列和第5列中,继续使用tb1.id=1和tb2.id=2,您将分别找到两个相等的数字81和85 其将显示在fr12列第1行和第5行的位置 同样,当tb1.id=2和tb2.id=1时,第2列将与编号62(第f2列第(2)行和第r2列第(1)行)匹

我有两张这样做的桌子:

tb1:

tb2:

预期查询的结果如下:

tfr:

从两个表的第7列中tb1.id=1和tb2.id=1的第一行开始,有两个相等的值, 因此,编号77将显示在第7行的fr11列中,而在同一列的其他行中,将显示破折号

在两个表的第1列和第5列中,继续使用tb1.id=1和tb2.id=2,您将分别找到两个相等的数字81和85 其将显示在fr12列第1行和第5行的位置

同样,当tb1.id=2和tb2.id=1时,第2列将与编号62(第f2列第(2)行和第r2列第(1)行)匹配

与tb1.id=1和tb2.id=3的步骤相同,列f0第1行、r0第3行和f2、r2的数字90和82分别相等,并将显示在列fr13中

如何实现这个查询


提前感谢您的考虑

那么为什么(tab1.id,tab2.id,f/r col):(2,2,7)和(2,3,9)被排除在期望的结果之外呢。顺便说一句,你到底想解决什么问题,请用需求术语而不是sql和/或表格来解释。您好,谢谢您的回答。。我不明白你对(2,2,7)和(2,3,9)的意思。。如果您谈到数字87,它将包含在fr22列中,但在示例中它尚未报告。表tb1的f列将仅与编号相同的表tb2的r列进行比较,只有行(id)的位置发生变化。因此,永远不会有一列f0与r1、r2进行比较。。但仅使用列r0。。这在本质上一点关系都没有。好像它真的不适合SQL。
  id  f0 | f1 | f2 | f3 | f4 | f5 | f6 | f7 | f8 | f9 
  ---+----+----+----+----+----+----+----+----+----+----
   1   90 | 81 | 82 | 83 | 54 | 85 | 86 | 77 | 88 | 79
   2   80 | 1  | 62 | 63 | 74 | 55 | 6  | 87 | 68 | 49
   ...
   (9 rows)
 id   r0 | r1 | r2 | r3 | r4 | r5 | r6 | r7 | r8 | r9 
---+-----+----+----+----+----+----+----+----+----+----
 1    70 | 11 | 62 | 3  | 44 | 5  | 56 | 77 | 38 | 9
 2    50 | 81 | 2  | 23 | 14 | 85 | 26 | 87 | 58 | 19
 3    90 | 51 | 82 | 33 | 64 | 25 | 16 | 27 | 48 | 49
 ---
 (9 rows)
id   fr11   fr12   fr21   fr13
---+------+------+------+------
0  |  -   |  -   |  -   |  90
1  |  -   |  81  |  -   |  -
2  |  -   |  -   |  62  |  82
3  |  -   |  -   |  -   |  - 
4  |  -   |  -   |  -   |  -
5  |  -   |  85  |  -   |  -
6  |  -   |  -   |  -   |  -
7  |  77  |  -   |  -   |  -
8  |  -   |  -   |  -   |  -
9  |  -   |  -   |  -   |  -