사용자가 그래서 그는이 방에 합류 머물고 방 역사로, 그가 참석하는 워크숍 user_history이 즉, MS 액세스와 윈도우 폼 C#에서 네 개의 테이블 조인 중복 그는 여기에
머물고있는 회의실의 이름을 얻으려면
SELECT
users.ID,
users.user_name,
users.father_name,
users.phone,
users.email,
users.cnic,
users.address,
users.user_type,
users.department,
users.designation,
users.emergency_no,
users.img,
room_history.ID,
room_history.room_id,
room_history.occupant_id,
room_history.start_date,
room_history.end_date,
rooms.room_name,
user_history.ID,
user_history.workshop
FROM (users
INNER JOIN (rooms
INNER JOIN room_history
ON rooms.room_id = room_history.room_id)
ON users.ID = room_history.occupant_id)
INNER JOIN user_history
ON users.ID = user_history.user_id;
지금 문제가 쿼리가 잘 작동입니다 MS 액세스 쿼리 디자인에 네 개의 테이블 위에 가입 후 생성되는 쿼리이지만, 사용자가 room_history에서 여러 기록과 user_history 테이블이 경우 내가 모든 필드에 "GROUP BY"를 추가 할 것을 여기 을 작동하지 않습니다, 네 개의 기록이 중복 절 "에 의해 GROUP"에 의해 고정되어 MySQL의에서
을 즉 반환 그것은 여전히 작동하지 않습니다.
참고 :
는는 아직 결과는 동일 우리가 그것을 여기
가 GROUP BY 절 내 쿼리입니다에 의해 그룹을 추가하지 못할 수 있도록
Üsers.Img 데이터 유형이 OLE 개체입니다
SELECT DISTINCT
users.ID,
users.user_name,
users.father_name,
users.phone,
users.email,
users.cnic,
users.address,
users.user_type,
users.department,
users.designation,
users.emergency_no,
room_history.ID,
room_history.room_id,
room_history.occupant_id,
room_history.start_date,
room_history.end_date,
rooms.room_name,
user_history.ID,
user_history.workshop,
user_history.user_id
FROM (users
INNER JOIN (rooms INNER JOIN room_history ON rooms.room_id = room_history.room_id) ON users.ID = room_history.occupant_id)
INNER JOIN user_history ON users.ID = user_history.user_id
GROUP BY
users.ID,
users.user_name,
users.father_name,
users.phone,
users.email,
users.cnic,
users.address,
users.user_type,
users.department,
users.designation,
users.emergency_no,
room_history.ID,
room_history.room_id,
room_history.occupant_id,
room_history.start_date,
room_history.end_date,
rooms.room_name,
user_history.ID,
user_history.workshop,
user_history.user_id;
'그룹화 기준'을 수행 할 때 그룹화 기준에 포함 할 필드에 선택 항목이 있어야합니다. 원래의 그룹화 기준도 Google에 표시하십시오. 내부, 왼쪽 및 외부/외부 조인은 거기에 수많은 예제가 있습니다. 또한 'Aliasing'을 사용하여 조인을 사용하여 더 읽기 쉽도록 만들 때'DISTINCT '는 코드 정리에 도움이 될 수 있음을 의미합니다 .. – MethodMan
그룹 별 내 쿼리를 추가하면 –
을 확인할 수 있습니다 이 문맥에서 select distinct/group by의 의견은 중복되는 이유를 찾는 진정한 해결책에 대한 해킹 인 경우가 많습니다.그래서 저에게있어 진짜 질문은'room_history'에 여러 개의 레코드가 있는데 가장 최근의 것인가요? 또한, 어떤 DBMS를 사용하고 있습니까? – Hambone