두 개의 테이블이 기본 및 외래 키와 연결되어 있습니다. 첫 번째 테이블에 특성 (id, name, ip, ...)이있는 서버 목록이 있습니다. 두 번째 테이블 향후 업데이트 정보 (id, server_id, last_update, next_update, ...)에 삽입하고 싶습니다.MySQL 첫 번째 테이블의 각 ID에 대해 두 번째 테이블에서 하나의 행만 선택하십시오.
이제 GUI에서 첫 번째 테이블의 Server-Attrinbutes를 두 번째 테이블의 마지막 항목 (server_id가 같음)으로 표시하려고합니다.
표 1 :
id
name
ip
description
.
.
표 2 : 여기
id
server_id
last_update
next_update
.
.
내가 이미 그것을 시도하는 방법을 간단한 예입니다
select s.id, s.name, sp.last_update, sp.next_update
from server s
left join (select * from server_updates order by server_id desc) sp
on sp.server_id = s.id
나는 이미 문 으로 시도 제한 1
select s.id, s.name, sp.last_update, sp.next_update
from server s
left join (select * from server_updates order by server_id desc limit 1) sp
on sp.server_id = s.id
(10)는 또한 나는 DISTINCT
select DISTINCT s.id, s.name, sp.last_update, sp.next_update
from server s
left join (select * from server_updates order by server_id desc limit 1)
를 사용하는 것을 시도했다 그러나 나는 항상 내가 단지 각각의 두 번째 테이블에서 하나 개의 행을 원하는
+------------+-----------------+---------------+------------+------------+
| Server0101 | Server0101_name | Server0101_ip | 2017-09-20 | 2017-10-20 |
| Server0101 | Server0101_name | Server0101_ip | 2017-10-20 | 2017-11-20 |
| Server0102 | Server0102_name | Server0102_ip | 2017-05-01 | 2017-06-01 |
두 번째 테이블에서 모든 져야 할 엔트리를 가지고 첫 번째 테이블의 ID입니다.
물론이 코드는 자바 코드에 구현할 수 있지만 MySQL에서이를 수행하는 방법을 알려주시겠습니까?
https://dev.mysql.com/doc/refman/5.7/en/example-maximum-column-group-row.html – CBroe