반응형
sql join 같은 테이블에 행 2개를 연결합니다.
저는 다음 표를 가지고 있습니다.
Name Type Value
---------------------
mike phone 123
mike address nyc
bob address nj
bob phone 333
나는 다음과 같은 결과를 얻고 싶습니다.
name value value
-------------------
mike nyc 123
bob nj 333
어떻게 하면 되죠?
그것은 자기 join이라고 불립니다.별칭을 사용하는 것이 요령입니다.
select
address.name,
address.value as address,
phone.value as phone
from
yourtable as address left join
yourtable as phone on address.name = phone.name
where address.type = 'address' and
(phone.type is null or phone.type = 'phone')
쿼리는 각 이름에 주소가 있다고 가정하지만 전화 번호는 선택 사항입니다.
이와 같은 것:
SELECT a.name AS name, phone, address
FROM (SELECT name, value AS phone FROM mytable WHERE type = "phone") AS a
JOIN (SELECT name, value AS address FROM mytable WHERE type = "address") AS b
ON(a.name = b.name);
언급URL : https://stackoverflow.com/questions/6614867/sql-join-2-rows-in-the-same-table
반응형
'programing' 카테고리의 다른 글
| Driver Manager가 h2 데이터베이스에 연결할 때 mariadb 드라이버를 사용하려고 합니다. (0) | 2023.09.26 |
|---|---|
| MIN 및 MAX 매크로에 대응하는 스위프트 (0) | 2023.09.26 |
| Lodash 타이틀 케이스 (모든 단어의 대문자 첫 글자) (0) | 2023.09.26 |
| MySQL 8에서 열 통계를 영구적으로 비활성화하는 방법? (0) | 2023.09.26 |
| 경량 C 코드 샌드박스를 만드는 방법은? (0) | 2023.09.26 |