2010-08-03 2 views
1

정확하게 사과 할 수 없거나 정확하게 설명 할 수 없기 때문에 사과하십시오.mysql 질의, 두 가지 선택

user_address 테이블의 값을 얻는 방법.

두 번째 "선택"에서 사용자 ID를 전달하는 방법. 이미, 당신은 아마 의미 론적 의미의 어떤 종류를 제공 할 수있는 데이터베이스의 행의 특정 순서에 의존하지 않아야 존재 무엇을 부록으로

select id, name, age, 
    (select address 
    from user_address 
    where user_id = ??user.id 
    ORDER BY address_name 
    LIMIT 1) AS address 
from user 
+1

내가 모르거나 설명 할 수 없기 때문에 "나는 사과 정확히 문제. " 이해할 수 없더라도 오류 메시지를 복사하여 붙여 넣을 수 있습니다. 이것은 우리에게 많은 도움이 될 것입니다. –

답변

2

. 당신은 당신이 후있어 주소를 식별하는 더 좋은 방법이 있다면, 당신은 같은 조인을 사용할 수 있습니다

select id, name, age, address 
from user 
inner join user_address 
on user.id=user_address.user_id 
where address_type='Home'

0

난 당신이 원하는 가정 (조정 절 무엇에 어디에) 사용자의 첫 번째 주소와 같은 것을 얻으려면 (각 사용자는 몇 개의 주소를 가질 수 있습니다)

- 주어진 주소에 살고있는 첫 번째 사람을 찾고자하는 또 다른 옵션입니다 (아래 해결책은 ' 이 사건을 다룰 때)

SELECT u.id,u.name,u.age,a.ua as address 
FROM 
(
    SELECT * FROM users 
) u 
    INNER JOIN 
(
    SELECT userID, MIN(address) AS ua 
    FROM user_address 
    GROUP BY userID 
) a 
on u.id = a.userID 

구문의 SQLServer입니다 - 당신이 MSACCESS를 사용하는 경우

그것이 Asaf 희망이 도움 (당신이 먼저 사용을 min 수 없습니다)