그래서 내가 사용하고 다음 쿼리는 4 개 행이 생성 간결성을 위해엽기 MySQL의 행동이
SELECT
`DMV`.`id` AS `dmvID`,
`D`.`id` AS `documentID`,
`DMV`.`name` AS `documentName`,
`U`.`username` AS `creatorUserName`,
`D`.`folder_id` AS `folderID`,
`D`.`created` AS `createDate`,
`SL`.`name` AS `statusName`,
`UM`.`username` AS `modifiedUserName`,
`DMV`.`version_created` AS `modifiedDate`,
`UO`.`username` AS `ownerUserName`,
`DTL`.`name` AS `documentTypeName`
FROM
`document_metadata_version` `DMV`
LEFT JOIN `documents` `D`
ON `DMV`.`document_id` = `D`.`id`
LEFT JOIN `users` `U`
ON `D`.`creator_id` = `U`.`id`
LEFT JOIN `users` `UM`
ON `D`.`modified_user_id` = `UM`.`id`
LEFT JOIN `users` `UO`
ON `D`.`owner_id` = `UO`.`id`
LEFT JOIN `status_lookup` `SL`
ON `D`.`status_id` = `SL`.`id`
LEFT JOIN `document_types_lookup` `DTL`
ON `DMV`.`document_type_id` = `DTL`.`id`
WHERE
DMV.document_id = 543433
;
을, 나는 모든 관련이없는 필드를하지 생략하겠습니다 수중에있는 질문과 관련이있다. dmvID
및 documentTypeName
(첫 번째와 마지막 열)의 결과는 다음과 같습니다
+--------+------------------+
| dmvID | documentTypeName |
+--------+------------------+
| 566053 | Default |
| 566183 | Default |
| 681391 | ASCO Documents |
| 681411 | ASCO Documents |
+--------+------------------+
내가 자연스럽게, 마지막 행에서만 흥미 해요, 내가 dmvID
에 MAX()를 사용하는 SELECT 문을 수정합니다 :
SELECT
MAX(`DMV`.`id`) AS `dmvID`,
# Rest of query unchanged
:
+--------+------------------+
| dmvID | documentTypeName |
+--------+------------------+
| 681411 | Default |
+--------+------------------+
참고 그 681411 위에서는 사실 맥스()에 있지만은,642,354 연관가 나는 내가 어떻게합니까 그것을 반환 할 dmvID
566053.에 일치하는 것 생각 것, dmvID
681411에 해당하는 값이 아닙니다 :
+--------+------------------+
| dmvID | documentTypeName |
+--------+------------------+
| 681411 | ASCO Documents |
+--------+------------------+
그리고 전체 검색어에서 정확히 한 행만 필요합니다 (다른 세 개를 사용하지 않겠습니까?). –
그건 맞아, 나는 단지 하나만 필요해. – Scott