반응형
선택 쿼리의 결과를 삽입 선택 쿼리의 매개 변수로 사용
저는.SELECT12~16시간 전에 추가된 일치하는 행을 모두 반환하는 쿼리.0, 1 또는 여러 행을 반환할 수 있습니다.
SELECT
service,
service_host_name,
time,
reports_added
FROM
detections
WHERE
reports_added = 0
AND time BETWEEN DATE_SUB(NOW(), INTERVAL 16 HOUR)
AND DATE_SUB(NOW(), INTERVAL 12 HOUR);
+---------------+-------------------+---------------------+---------------+
| service | service_host_name | time | reports_added |
+---------------+-------------------+---------------------+---------------+
| instagram.com | instagram | 2020-10-29 08:41:25 | 1 |
| instagram.com | instagram | 2020-10-29 08:41:25 | 0 |
| twitter.com | twitter | 2020-10-29 03:41:25 | 0 |
| twitter.com | twitter | 2020-10-28 17:00:11 | 0 |
| twitter.com | twitter | 2020-10-29 15:01:14 | 0 |
| instagram.com | instagram | 2020-10-29 22:04:23 | 0 |
+---------------+-------------------+---------------------+---------------+
위 쿼리의 일치하는 행을 아래 매개 변수로 사용해야 합니다.INSERT... SELECT질의.
INSERT
IGNORE INTO my_detections (
service,
service_host_name,
date
) (
SELECT
service,
service_host_name,
date
FROM
report_issue
INNER JOIN report_domain ON report_issue.issue_id = report_domain.id
WHERE
service = service
AND date BETWEEN DATE_SUB(time, INTERVAL 12 HOUR)
AND DATE_ADD(time, INTERVAL 12 HOUR)
)
UNION
(
SELECT
service,
service_host_name,
date
FROM
report_recent
WHERE
service = service
AND date BETWEEN DATE_SUB(time, INTERVAL 12 HOUR)
AND DATE_ADD(time, INTERVAL 12 HOUR)
);
위의 모든 쿼리는 자체적으로 잘 작동합니다.
이상적으로, 저 또한 그렇게 하고 싶습니다.UPDATE그reports_added에 있는 칼럼detections의 테이블.1후에INSERT... SELECT를 해당 행으로 마칩니다.
만약 그게 불가능하다면 난 그냥UPDATE완성 후에 예를 들면
update
detections
set
reports_added = 1
where
reports_added = 0;
일치하는 행을 사용하려면 어떻게 해야 합니까?detections표를 매개 변수로 지정합니다.INSERT... SELECT질문?
결국, 나는 전체 쿼리를 a 안에 추가할 것입니다.mysql-event한 시간에 한 번씩 달리니 답이 이벤트 안에 있으면 좋겠지만, 저도 괜찮을 것 같아서 꼭 필요한 것은 아닙니다.
언급URL : https://stackoverflow.com/questions/64612298/using-results-from-select-query-as-parameters-for-insert-select-query
반응형
'programing' 카테고리의 다른 글
| 위조 방지를 해결하는 방법내 ASP에서 i가 재설정된 후 발생하는 토큰 예외.넷 MVC 앱? (0) | 2023.11.06 |
|---|---|
| 길이 또는 정수의 최대값을 정의하는 상수가 있습니까? (0) | 2023.11.06 |
| Oracle 11g에서 JSON 지원 (0) | 2023.11.06 |
| 다른 함수에 void(*) 포인터 사용 (0) | 2023.11.06 |
| ANSI(C89/90) C에서 바이트를 나타내는 데 사용할 유형? (0) | 2023.11.06 |