• Group by unordered pair

    bo2
    @bo2
    Лучше, конечно, при записи сразу упорядочивать, если это возможно
    Ответ написан
  • Как выбрать связные записи из таблиц?

    bo2
    @bo2
    Поддерживаю, обязательно денормализуйте. Триггеры в приложении — абсолютно нормально, в базе — скорее экзотика.
    А вот вариант без подзапросов (подразумевается тип datetime для полей времени):
    select
    	substr(max(concat(
    		DocumentRevision.time, ":",
    		RevisionStatus.time, ":",
    		RevisionStatus.status, ":",
    		Document.id
    	)), 43) docid
    from
    	Document, DocumentRevision, RevisionStatus
    where
    	DocumentRevision.documentId = Document.id and
    	RevisionStatus.revisionId = DocumentRevision.id
    group by
    	Document.id
    having
    	substr(max(concat(
    		DocumentRevision.time, ":",
    		RevisionStatus.time, ":",
    		RevisionStatus.status, ":",
    		Document.id
    	)), 41, 1) = "1"
    
    Ответ написан
    Комментировать