반응형
지정된 서비스 ID 이전에 모든 데이터 선택
좋은아침!
https://dbfiddle.uk/ ?rdbms= mariadb_10.5& fiddle=4e2bdf9aeca8b69d829770589c14807
설명:
- 표 "시간 간격"
- 내일부터 +2일, 시간 범위 14-18시 사이의 날짜 범위로 이 테이블을 채웁니다.
- 로트 3회 업데이트 후 "2"로 서비스 설정 (랜덤 아이디 선택)
SELECT * FROM timeslots ORDER BY timeslot ASC
그리고 이것이 그 바이올린을 보여주는 결과입니다.하지만 이제는 특정 결과를 얻기 위해 sql 쿼리를 확장해야 하는데 어떻게 구현할 수 있을지 모르겠습니다.아마 당신은 뭔가 생각이 있을 겁니다.
첫 번째 단계:서비스가 = 0인 타임슬롯만 받고 싶습니다.
쉬운 일:
SELECT * FROM timeslots WHERE service = 0
결과의 일부:
2021-07-06 14:00:00 0
2021-07-06 15:00:00 0
2021-07-06 16:00:00 2 (not this value, because service is not 0)
2021-07-06 17:00:00 0
좋아요!
그러나 동일한 날에 서비스 2가 있는 타임슬롯이 존재하는 경우(2021-07-06 16:00:00의 결과와 같이) 2021-07-06 16:00 이후의 값만 필요합니다.이 예에서 결과는 다음과 같습니다.
2021-07-06 17:00:00
저는 당신이 제 문제를 이해하고 저를 도울 수 있기를 바랍니다!
당신은 찾고 있습니다.NOT EXISTS
, 서비스 2 슬롯이 존재하지 않는 행을 해당 시간 이후의 동일한 날에 확인하려고 하기 때문입니다.
select *
from timeslots ts
where not exists
(
select null
from timeslots ts2
where date(ts2.timeslot) = date(ts.timeslot)
and time(ts2.timeslot) >= time(ts2.timeslot)
and service = 2
)
order by timeslot;
데모: https://dbfiddle.uk/ ?rdbms= mariadb_10.5& fiddle=6cf862d80445fcda030e2be35adb4909
언급URL : https://stackoverflow.com/questions/68242821/select-all-data-before-a-specify-service-id
반응형
'itsource' 카테고리의 다른 글
에서 출력의 공백 xmlns 특성을 방지하는 방법.NET의 Xml 문서? (0) | 2023.09.19 |
---|---|
날짜 열을 내림차순으로 색인하는 것이 좋습니까? (0) | 2023.09.19 |
터치 디바이스의 버튼에 대한 끈적거리는 호버 효과를 방지하는 방법 (0) | 2023.09.19 |
MySQL Workbench 테이블 데이터 가져오기 마법사 매우 느림 (0) | 2023.09.19 |
워드프레스에서 페이지 새로 고침 없이 연락처 양식 7을 제출하는 방법은? (0) | 2023.09.19 |