한다고 가정 우리가 My_Tabel
라는 이름의 테이블에 다음 데이터 : Partner_ID 열에서 0 값은 그/그녀가 하나 있음을 나타냅니다선택 고유 한 값
╔═══════════╦═════════════╦════════════╗
║ ID ║ Person_Name ║ Partner_ID ║
╠═══════════╬═════════════╬════════════╬
║ 101 ║ John ║ 3 ║
║ 100 ║ Miller ║ 0 ║
║ 3 ║ Ruby ║ 101 ║
║ 180 ║ Jack ║ 0 ║
║ 199 ║ George ║ 65 ║
║ 23 ║ Joseph ║ 0 ║
║ 34 ║ Fredrick ║ 117 ║
║ 117 ║ Jinan ║ 34 ║
║ 122 ║ Verena ║ 0 ║
║ 65 ║ Mary ║ 199 ║
╚═══════════╩═════════════╩════════════╝
.
╔═════════════╦══════════════╗
║ Person_Name ║ Partner_Name ║
╠═════════════╬══════════════╬
║ John ║ Ruby ║
║ George ║ Mary ║
║ Fredrick ║ Jinan ║
╚═════════════╩══════════════╝
이상의 결과를 반환하는 최고의 SQL 쿼리 것입니다 :
우리는 반복 또는 중복없이 트너가 사람을 표시해야, 원하는 결과는 다음과 같다 하는가?
이 코드 사용하고 있습니다 :
SELECT
t1.Name, t2.Name
FROM My_Tabel t1
INNER JOIN My_Tabel t2 ON (t2.ID = t1.Partner_ID)
을하지만 반환 된 결과는 다음과 같습니다
SQL 문이 (서로 또는 교체) 업데이트 방법╔═════════════╦══════════════╗
║ Person_Name ║ Partner_Name ║
╠═════════════╬══════════════╬
║ John ║ Ruby ║
║ Ruby ║ John ║
║ George ║ Mary ║
║ Mary ║ George ║
║ Fredrick ║ Jinan ║
║ Jinan ║ Fredrick ║
╚═════════════╩══════════════╝
원하는 결과를 얻을 수 ?
무엇 [RDBMS (https://en.wikipedia.org/wiki/Relational_database_management_system)? –
SQL Server @MaciejLos –