MySQL 5.5.37을 사용하고 있습니다. 테이블을 업데이트하고 싶습니다. 업데이트 값을 얻기 위해 사용하는 쿼리 절에서 업데이트하려는 특정 행의 값을 사용하고 싶습니다. 예를 들어 그래서, 정말내 업데이트 문의 "세트"부분에서 업데이트되는 테이블을 어떻게 참조합니까?
update session ts set
처럼 내 테이블의 별명을하고 가능하다면 그래서, 명령문의 "설정"부분에서 "ts.id"를 참조하고 싶습니다. 나는
update session ts set user_id = (select q.* from
(select u.id FROM session t, training_session_org tso, organization o, user u
where o.user_id = u.id and tso.organization_id = o.id
and t.id = tso.training_session_id and t.id = ts.id) q);
을 시도하지만 나는
ERROR 1054 (42S22): Unknown column 'ts.id' in 'where clause'
는 가능하면 쿼리 내 업데이트 된 테이블을 참조하는 적절한 방법은 무엇입니까 받고 있어요? 또한 여러 SQL 문이 아닌 하나의 SQL 문에서이 작업을 수행하려고합니다.
하위 쿼리의 세션 테이블 만 별명을 지정하고 session.id = t.id를 수행하십시오. – user2278120
주사위가 없습니다. GOt "오류 1054 (42S22) : 'where 절'에서 알 수없는 열 'session.id'". – Dave