以下是该方案,
表A
---------------------
ID | Col 1 | Col 2
---------------------
1 | 1 | 2
---------------------
2 | 3 | 4
---------------------
3 | 2 | 1
---------------------
4 | 4 | 3
---------------------
在第1栏中,有一些数据' 1'在第2栏中有一些数据' 2'。在同一个表中,还有另一行,这些值互换。如何使用SQL查询
获得如下输出ID_1 | Col 1 | Col 2 |ID_2
-----------------------------------
1 | 1 | 2 |3
-----------------------------------
2 | 3 | 4 |4
-----------------------------------
我知道这个选项
SELECT a.ID, a.col1, a.col2
FROM tableA a
WHERE NOT EXISTS( SELECT 1
FROM tableA b
WHERE a.col1 = b.col2
AND a.col2 = b.col1
AND a.col1 > b.col1 );
但我不知道如何获得第二个ID
答案 0 :(得分:1)
这就是你想要的吗?
col1
如果col2
和with tablea(id, col1, col2) as (
values(1, 1, 2), (2, 3, 4), (3, 2, 1), (4, 4, 3)
)
select a.*, b.id
from tableA a join
tableA b
on a.col1 = b.col2 and a.col2 = b.col1 and a.id < b.id;
中的值被反转,则每增加$body = Get-Content $file -encoding UTF8 | Out-String
一行将返回一行// Your plus-icon in your header bar
<button (click)='toggleNew == true'>
<ion-icon name='plus'></ion-icon>
</button>
// Your content
<ion-content>
<ion-list inset>
<ion-item *ngFor="let item of todos" (click)="edit(item)">
{{item}}
</ion-item>
</ion-list>
<ion-item *ngIf='toggleNew'>
<ion-input [(ngModel)]='newItem' placeholder="Task .. "></ion-input>
<button (click)='saveNew(newItem)'>Save</button>
<button danger (click)='cancelNew()'>Cancel</button>
</ion-item>
</ion-content>
。
以下代码演示了这种方法:
// Initalial values.
newItem: string = "";
toggleNew: boolean = false;
// Saving function
saveNew( newItem: string ): void {
this.todos.push(newItem);
this.toggleNew = false;
this.newItem = "";
}
// Cancel function
cancelNew(): void {
this.toggleNew = false;
this.newItem = "";
}
它完全返回您指定的内容。 Here是一个SQL小提琴。