Mysql
 sql >> Baza danych >  >> RDS >> Mysql

mysql - najnowszy wpis dla każdego identyfikatora

Cóż, w końcu znalazłem rozwiązanie. Wystarczy dodać ten kod na końcu zapytania sql:

AND PP.PROFISSIONAL_PORCENTAGEM_Pk = (
SELECT t2.PROFISSIONAL_PORCENTAGEM_Pk FROM profissional_porcentagem as t2
    where t2.PROFISSIONAL_PORCENTAGEM_FK_CLINICA = PP.PROFISSIONAL_PORCENTAGEM_FK_CLINICA 
    order by t2.PROFISSIONAL_PORCENTAGEM_Pk desc limit 1
)

A potem będziemy mieli całe zapytanie w ten sposób:

SELECT
PP.PROFISSIONAL_PORCENTAGEM_Pk,
UST.USER_NAME, 
ADDR.ADDRESS_NOME, 
ADDR.ADDRESS_ATIVO,
PA.PROFESSIONAL_ADDRSS_PK, 
PP.PROFISSIONAL_PORCENTAGEM_PORCENT,
PP.PROFISSIONAL_PORCENTAGEM_FK_CLINICA,
PP.PROFISSIONAL_PORCENTAGEM_DATA

FROM 
profissional_porcentagem AS PP
RIGHT JOIN professional_addrss AS PA
    ON(PP.PROFISSIONAL_PORCENTAGEM_FK_CLINICA=PA.PROFESSIONAL_ADDRSS_PK)

INNER JOIN address ADDR
    ON(PA.PROFESSIONAL_ADDRSS_FKADDRSS=ADDR.ADDRESS_Pk)

INNER JOIN professional PF
    ON(PA.PROFESSIONAL_ADDRSS_FKPROFESSIONAL=PF.PROFESSIONAL_Pk)

INNER JOIN usert AS UST
    ON(PF.PROFESSIONAL_FKUSER=UST.USER_Pk)

WHERE UST.USER_Pk=3
AND ADDR.ADDRESS_ATIVO=1

AND PP.PROFISSIONAL_PORCENTAGEM_Pk = (
SELECT t2.PROFISSIONAL_PORCENTAGEM_Pk FROM profissional_porcentagem as t2
    where t2.PROFISSIONAL_PORCENTAGEM_FK_CLINICA =   PP.PROFISSIONAL_PORCENTAGEM_FK_CLINICA 
    order by t2.PROFISSIONAL_PORCENTAGEM_Pk desc limit 1
);

Uwaga:zainspirował mnie ten post Wybierz wiersz z najnowszą datą na użytkownika




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ruby CSV odczytuje pola wielowierszowe

  2. Samodzielny serwer MySQL

  3. MySQL i CASE WEN z szeregiem wartości

  4. Błąd niezdefiniowanej zmiennej w moim skrypcie PHP

  5. Nie można zresetować hasła roota:windows, MySQL8.0