두 개의 개별 연결된 테이블에 저장된 값을 기반으로 값을 계산하는 UPDATE 쿼리 (Access 2013 사용)를 만들려고합니다. 내가 사용하는 코드는 다음과 같습니다.
UPDATE tblCreatures
INNER JOIN tblRole ON tblCreatures.Role = tblRole.RoleName
INNER JOIN tblRank ON tblCreatures.Rank = tblRank.RankName
SET tblCreatures.HP = ((tblRole.Level_0_HP + (tblCreatures.NominalLevel * tblRole.BonusHP)) * tblRank.HP_Multiplier);
이것은 나에게 구문 오류를 제공합니다.
Syntax error (missing operator) in query expression "tblCreatures.Role = tblRole.RoleName INNER JOIN tblRank ON tblCreatures.Rank = tblRank.RankNam"
(예, RankName이 아닌 RankNam에서 끊어짐)
테스트를 통해 내부 조인 중 하나 (및 해당 테이블에 대한 모든 참조)를 제거하면 업데이트 쿼리가 제대로 작동하지만 다른 내부 조인을 다시 넣으면 동일한 구문 오류가 계속 발생합니다. 왜 그런지 이해가 안가요 ... 두 개의 내부 조인을 나란히 놓을 수 있어야하지 않나요?
쿼리에 여러 JOIN이 포함 된 경우 Access SQL에는 괄호가 필요합니다. Access의 쿼리 디자이너에서 쿼리를 작성하면 다음과 같이 표시됩니다 (명확성을 위해 형식이 변경됨).
UPDATE
(
tblCreatures
INNER JOIN
tblRole
ON tblCreatures.Role = tblRole.RoleName
)
INNER JOIN
tblRank
ON tblCreatures.Rank = tblRank.RankName
SET tblCreatures.HP = ((tblRole.Level_0_HP + (tblCreatures.NominalLevel * tblRole.BonusHP)) * tblRank.HP_Multiplier);
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다