반응형
mySQL 데이터베이스에는 다음과 같은 세 개의 테이블이 있습니다.
orders: order_sequence_number, contact_id, date_ordered ...
orderdetail: order_sequence_number ...
person: contact_id ...
2 년 이상 된 date_order 값을 가진 세 테이블의 모든 행을 삭제하려고하지만 date_order 필드는 orders 테이블에만 표시되지만 테이블에는 order_sequence_number 및 contact_id 필드를 통해 다른 두 테이블에 대한 링크가 있습니다.
그래서, 나는 다음과 같이 약간 상상할 것입니다. ...
SELECT * FROM orders WHERE date_ordered BETWEEN X AND Y
그런 다음 그 레코드 세트로
DELETE FROM orderdetail WHERE orderdetail.order_sequence_number IN (THE ABOVE)
사람 테이블 등 ...하지만 운이 없습니다.
나에게 일종의 중첩 하위 쿼리처럼 보이지만 그러한 쿼리를 수행하는 방법을 이해하는 데 어려움을 겪고 있으며 그것의 복잡한 성격을 둘러 볼 수 없습니다 ...
어떤 포인터라도 대단히 감사하겠습니다.
해결 방법
DELETE FROM orderdetail
WHERE order_sequence_number IN
(
SELECT id
FROM orders
WHERE date_ordered BETWEEN X AND Y
)
참조 페이지 https://stackoverflow.com/questions/9078922
반응형
'MySql' 카테고리의 다른 글
MySQL 뒤로 버튼을 누를 때 강제로 다시로드 / 새로 고침 (0) | 2020.09.22 |
---|---|
MySQL Joomla 1.7에서 AND로 'WHERE'절 조건을 작성하는 방법은 무엇입니까? 업데이트 할 데이터가 없습니다. (0) | 2020.09.22 |
MySQL MYSQL에서 ORDER BY 및 LIMIT가 작동하지 않는 업데이트 (0) | 2020.09.22 |
MySQL 이진 데이터 유형에 MySql 삽입 문? (0) | 2020.09.22 |
MySQL SUM IF 필드 b = 필드 a (0) | 2020.09.22 |
댓글