0
채팅 참가자 테이블이 있습니다 (data_chats_parties
). 이 표에는 참가자가 구성원인지 또는 팀 계정인지 나타내는 두 개의 필드, team
및 member
이 있습니다. team = 0이면 회원 계정입니다. 팀! = 0이면 팀 계정입니다.조건에 따라 다른 테이블을 조인하십시오.
팀 계정 인 경우 열을 data_teams
테이블에서 가져와야합니다. 그렇지 않으면 data_members
테이블에서 username
열을 가져와야합니다.
분명히이 쿼리는 작동하지 않지만 내가 달성하려고하는 것입니다.
SELECT data_chats_parties.*,data_teams.name,data_members.username
FROM data_chats_parties
IF (data_chats_parties.team!=0 THEN
INNER JOIN data_teams ON data_teams.id=data_chats_parties.team ELSE
INNER JOIN data_members ON data_members.id=data_chats_parties.member)
WHERE data_chats_parties.member!=1
GROUP BY data_chats_parties.id
WHERE data_chats_parties.member!=1
라인은 "저를하지 않은 참가자를 가져"말했다.
이렇게하면 가능합니까?
별도의 쿼리를 수행하고, UNION''와 조합. – Barmar