반응형
선택 쿼리에서 테이블을 업데이트하는 방법
DB 파사드를 사용하여 임시 테이블을 만들고 select 쿼리를 사용하여 조건에 따라 임시 테이블의 일부 열을 업데이트해야 합니다.
DB::update('update table_temp_topcustomer
set ordercount = aaa.ordercount
from
(select count(id) as ordercount,mobileno
from order_hdrs
group by mobileno
) as aaa
where table_temp_topcustomer .mobileno = aaa.mobileno
');
이 에러가 발생합니다.
구문 오류 또는 액세스 위반: 1064 SQL 구문에 오류가 있습니다. 사용 중인 MariaDB 서버 버전에 해당하는 설명서에서 "from" (count(id) as order count, order_hdrs group from mobileno by mobileno by mobileno set ord = aaa count from from order)에 가까운 올바른 구문을 확인합니다.ount(id)는 order count, suppeno from order_hdrs group by mobileno)는 aaa입니다.
어떻게 하면 좋을까요?
UPDATE table_temp_topcustomer JOIN
( SELECT order_hdrs count(*) as ordercount
FROM order_hdrs
GROUP BY mobileno
) AS aaa
ON table_temp_topcustomer.mobileno = aaa.mobileno
SET table_temp_topcustomer.ordercount = aaa.ordercount
한 번에 할 수 없는 질문인 것 같아요.제가 알기로는요.먼저 선택 결과를 가져오고 루프 실행 업데이트를 수행합니다.
당신은 다음과 같은 것을 시도해야 합니다.
$result = DB::select('select count(id) as ordercount,mobileno
from order_hdrs
group by mobileno');
foreach($result as $item) {
DB::update('update table_temp_topcustomer
set ordercount = '. $item->ordercount .'
where table_temp_topcustomer.mobileno = ' $item->mobileno);
}
언급URL : https://stackoverflow.com/questions/56231510/how-to-update-a-table-from-a-select-query
반응형
'programing' 카테고리의 다른 글
Selenium Web Driver:JavaScript가 있는 복잡한 페이지가 로드될 때까지 기다립니다. (0) | 2023.01.23 |
---|---|
MySQL에서 문자열을 최신 상태로 변환하는 방법 (0) | 2023.01.23 |
MySQL - 삽입 오류 무시: 중복 항목 (0) | 2023.01.23 |
jQuery 글로벌 키 누르기 이벤트 메서드 호출 vuejs 메서드가 예상대로 작동하지 않습니다.왜요? (0) | 2023.01.23 |
JavaScript를 사용하여 브라우저의 뒤로 버튼을 정지하려면 어떻게 해야 합니까? (0) | 2023.01.23 |