2015-01-14 3 views
0

mysql 쿼리에 대한 질문이 있습니다. 이야기는 이렇게됩니다 : 나는 대학 여행에 관한 정보를 저장하는 테이블을 가지고 있습니다. 이 테이블에는 여행 이름, 여행 ID 및 활동에 대한 속성이 있습니다. 활동이 계속 활성 (1)인지 비활성 (0)인지에 따라 0 또는 1이 될 수 있습니다. 두 번째 표에는 ID, 이름, 성 및 학생이 신청 한 여행의 ID와 같은 속성이있는 여행을 신청 한 학생에 대한 정보가 있습니다. 나는 아직 활성 (활동 = 1) 여행을 신청 한 학생 만 표시됩니다 mysql 쿼리를 모르겠다.하나의 mysql 테이블에서 두 번째 테이블의 여러 행에 하나의 행을 연결합니다.

예를 들어 이제이 테이블에서 살펴보기로하자 :

TRIPS 

id | trip  | activity 
---+----------+----------- 
1 | Paris | 0 
2 | London | 1 
3 | Belgrade | 0 
4 | Prague | 1 

STUDENTS 

id | name  | id_trip 
---+----------+----------- 
1 | Mark  | 3 
2 | Ana  | 1 
3 | Tom  | 2 
4 | Maya  | 3 
5 | Rachel | 4 
6 | John  | 2 



    RESULT 

    id | name  | id_trip | trip | activity 
    ---+----------+---------+---------+--------- 
    3 | Tom  | 2  | London | 1 
    5 | Rachel | 4  | Prague | 1 
    6 | John  | 2  | London | 1 

답변

0
SELECT 
s.id, 
s.name, 
s.id_trip, 
t.trip, 
t.activity 
FROM 
STUDENTS AS s 
INNER JOIN TRIPS AS t ON (t.id = s.id_trip) 
WHERE 
t.id = 1 

희망이 작동합니다.

+0

내가 t.activity = 1 = 1 t.id 변경하기 만. 고맙습니다! 잘 했어! :) – user3100193

0

이 시도 :

SELECT s.id, s.name, s.id_trip, t.name, t.activity 
FROM students s 
JOIN trips t 
ON s.id_trip = t.id 
WHERE t.activity = 1 
0
select * from students s 
join trips t 
on s.id_trip = t.id 
where t. activity =1 
0

이 문제를 해결할 수도 있습니다을 시도해보십시오

select s.id as id, s.name as name,t.trip as trip, 
t.activity as activity from trips t 
join students s on 
t.id = s.id_trip 
where t.activity = 1 
관련 문제