MS 액세스 쿼리를 Maria로 변환하는 중DB
현재 MS Access 데이터베이스에서 사용 중인 이 세 가지 쿼리(아래)와 동일한 출력을 생성할 MariaDB SQL 명령을 만드는 데 어려움을 겪고 있습니다.내 Excel VBA 스크립트는 아래의 세 번째 SQL 쿼리 명령(Hours to Heat Electric WH)을 이 SQL 명령으로만 호출하며, 여기서 날짜 값은 동적으로 대체됩니다.이 질문의 목적을 위해 명령은 다음과 같습니다.
SELECT ElectricWH_Data.*
FROM ElectricWH_Data
WHERE (ElectricWH_Data.Date_Reading) > #06/01/19#;
다음은 결과 테이블의 요약입니다.
날짜_시간 날짜 시간 최대 WH 출력 최소 WH 출력6/27/18 0:52 06/27/18 00.52 60.38 43.566/28/18 0:52 06/28/18 00.52 60.50 44.446/29/18 0:32 06/29/18 00.32 60.13 45.386/30/18 0:32 06/30/18 00.32 60.19 47.137/1/18 0:12 07/01/18 00.12 60.50 47.567/2/18 0:42 07/02/18 00.42 60.44 44.947/3/18 0:42 07/03/18 00.42 60.38 46.88
MariaDB 데이터베이스와 SQL 명령을 사용하여 이 프로세스를 복제하고 싶습니다.도와주실 수 있나요?
그런데 MariaDB에서는 날짜와 날짜 형식이 다르게 처리되는 것으로 알고 있습니다.
다음은 MS Access 데이터베이스의 SQL 쿼리입니다.
일별로 TemData 가져오기:
SELECT
Min(PiSolarWH.Electric_WH_Out) AS MinOfElectric_WH_Out,
Max(PiSolarWH.Electric_WH_Out) AS MaxOfElectric_WH_Out,
Format(PiSolarWH.Date_Reading,'mm/dd/yy') AS TheDay
FROM
PiSolarWH
GROUP BY
Format(PiSolarWH.Date_Reading,'mm/dd/yy');
전기WH 데이터:
SELECT
PiSolarWH.Date_Reading,
Format([PiSolarWH.Date_Reading],'mm/dd/yy') AS TheDate,
Format([Date_Reading],'hh.mm') AS DayTime,
GetTempDataByDay.MaxOfElectric_WH_Out AS Expr1,
GetTempDataByDay.MinOfElectric_WH_Out AS Expr2
FROM
GetTempDataByDay, PiSolarWH
WHERE
Format([PiSolarWH.Date_Reading],'mm/dd/yy') = [GetTempDataByDay].[TheDay]
AND GetTempDataByDay.MaxOfElectric_WH_Out = [PiSolarWH].[Electric_WH_Out];
전기 난방 시간 WH:
SELECT
PiSolarWH.Date_Reading,
Format([Date_Reading],'hh.mm') AS DayTime,
GetTempDataByDay.MaxOfElectric_WH_Out,
PiSolarWH.Electric_WH_Out,
Format([PiSolarWH.Date_Reading],'mm/dd/yy') AS Expr1
FROM
GetTempDataByDay,
PiSolarWH
WHERE
GetTempDataByDay.MaxOfElectric_WH_Out = [PiSolarWH].[Electric_WH_Out]
AND Format([PiSolarWH.Date_Reading],'mm/dd/yy') = [GetTempDataByDay].[TheDay];
알았어요, 알아냈어요!MariaDB의 저장된 VIEW는 MS Access Stored Query처럼 작동합니다.세 개의 MS Access 쿼리(물론 수정된 구문 포함)를 데이터베이스에 저장된 VIES로 추가할 수 있었습니다.이 작업은 MS Access의 작업과 정확히 유사합니다.다음은 한 가지 예입니다.
CREATE VIEW GetTempDataByDay AS
SELECT
date_reading,
Min(temps.Electric_WH_Out) AS MinOfElectric_WH_Out,
Max(temps.Electric_WH_Out) AS MaxOfElectric_WH_Out,
date(temps.Date_Reading) AS TheDay
FROM
temps
GROUP BY
date(temps.Date_Reading);
그러면 MS Access에 저장된 쿼리를 복제하기 위해 만든 다른 두 개의 보기에서 사용됩니다.
시간 내주셔서 감사합니다...RDK
언급URL : https://stackoverflow.com/questions/58537126/converting-ms-access-queries-to-mariadb
'programing' 카테고리의 다른 글
Larvel 5.1 마이그레이션 및 시드 외부 키 제약 조건에서 참조되는 테이블을 자를 수 없음 (0) | 2023.08.27 |
---|---|
MariaDB-10.5.15의 느린 쿼리, 가져오기 시간, 단순 선택 (0) | 2023.08.27 |
파이썬 맵 및 기타 기능성 도구 사용 (0) | 2023.08.27 |
mariadb가 시작되지 않고 리디렉션됨(AWS-EC2) (0) | 2023.08.27 |
ora_hash는 결정론적입니까? (0) | 2023.08.27 |