sql где одинаковые значения разных столбцов - PullRequest
0 голосов
/ 02 июля 2019

Я бы хотел сгруппировать значения в столбце BelNr2 с теми же значениями в столбце BelNr1. То есть если таблица была следующей: Name: MyTable

CusID |  BelNr1 | BelNr2 | BelTy | BelYr |  Amnt
1001    2000101   2000101    AB     2018     500
1001    2000102   2000102    AB     2018     750
1001    2000118   2000103    AB     2018     800
1002    2000104   2000104    AB     2018    1200
1002    2000105   2000105    AB     2018    1300
1003    2000106   2000106    AB     2018     900
1003    2000115   2000109    AB     2018     950
1004    2000107   2000107    AB     2018    1000
1005    2000104   2000108    AB     2018     910

Я бы хотел, чтобы он был сгруппирован следующим образом с SQL

CusID  | BelNr2  |  Amnt
1001    2000101      500     'Row 1 = Row 1 BelNr2 = BelNr1
1001    2000102      750     'Row 2 = Row 2 BelNr2 = BelNr1
1002    2000104     1200     'Row 4 = Row 4 BelNr2 = BelNr1
1002    2000104      910     'Row 4 = Row 9 BelNr2 = BelNr1
1002    2000105     1300     'Row 5 = Row 5 BelNr2 = BelNr1
1003    2000106      900     'Row 6 = Row 6 BelNr2 = BelNr1
1004    2000107     1000     'Row 8 = Row 8 BelNr2 = BelNr1

Заранее спасибо за помощь.

Ответы [ 2 ]

1 голос
/ 02 июля 2019

Простое предложение where делает свое дело .. основываясь на том, что вы написали как ожидаемый результат, вам не нужно группировать по.

select CusID, BelNr2, Amnt
from MyTable
where BelNr2=BelNr1

Если вы хотите создать перекрестную ссылку между строками, вы можете сделатьСОЕДИНЕНИЕ с той же таблицей:

SELECT T1.CusID, T2.BelNr2, T2.Amnt
FROM MyTable T1
         JOIN MyTable T2 ON T1.BelNr2 = T2.BelNr1

0 голосов
/ 03 июля 2019

Следующий sql возвращает желаемый результат.

Спасибо.

sql = "SELECT " & _
   "t1.CusID, t1.BelNr2, t2.Amnt " & _
"FROM " & _
   "( " & _
       "SELECT " & _
           "CusID, BelNr2, Amnt " & _
       "FROM " & _
           "[MyTable$] " & _
   ") AS t1 " & _
   "inner Join " & _
   "( " & _
       "SELECT " & _
           "BelNr1, Amnt " & _
       "FROM " & _
           "[MyTable$]" & _
   ") AS t2 " & _
       "ON t1.BelNr2 = t2.BelNr1 "
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...