MySql : 트랜잭션 테이블이있는 왼쪽 조인 사용자 테이블은 여러 행을 반환합니다.

제 플렉스
  • 2 개의 테이블이 있습니다 : 사용자와 paypal_transactions
  • 각 사용자에 대해 ID (paypal_transactions 테이블에서 user_id로 명명 됨)가 있습니다.
  • 사용자는 여러 개의 paypal_transaction을 가질 수 있습니다. 일대 다 관계
  • 쿼리를 수행 할 때 최신 트랜잭션 ID (date_dt DESC로 정렬 됨)를 가져와야합니다.

내 현재 쿼리 :

SELECT `Transaction`.*, `User`.*, `Tipster`.`username`
FROM `pronostics_framework`.`users` AS `User`
LEFT JOIN `pronostics_framework`.`users` AS `Tipster` ON (`User`.`tipster_id` = `Tipster`.`id`)
LEFT JOIN `pronostics_framework`.`paypal_transactions` AS `Transaction` ON (`User`.`id` = `Transaction`.`user_id`)
ORDER BY `User`.`id` DESC
LIMIT 500

현재 사용자 당 하나의 트랜잭션으로 제대로 작동합니다. 많은 트랜잭션이있는 BTW 나는 여전히 paypal_transactions 테이블에서 첫 번째 항목을 얻습니다 (가장 오래되었지만 지금부터 최신 항목을 원합니다).

나는 성공하지 못한 채 많은 시도를했다.

당신의 도움을 주셔서 감사합니다 !

Barmar

여기 있습니다 :

SELECT `Transaction`.*, `User`.*, `Tipster`.`username`
FROM `pronostics_framework`.`users` AS `User`
LEFT JOIN `pronostics_framework`.`users` AS `Tipster` ON (`User`.`tipster_id` = `Tipster`.`id`)
LEFT JOIN (SELECT user_id, MAX(date_dt) AS max_date
            FROM `pronostics_framework`.paypal_transactions
            GROUP BY user_id) AS max_trans 
    ON User.id = max_trans.user_id
LEFT JOIN `pronostics_framework`.`paypal_transactions` AS `Transaction` 
    ON (max_trans.user_id = `Transaction`.`user_id` AND max_trans.max_date = Transation.date_dt)
ORDER BY `User`.`id` DESC
LIMIT 500

다른 방법 은 각 그룹의 마지막 레코드 검색 에서 첫 번째 답변의 첫 번째 쿼리를 기반으로합니다 .

SELECT `Transaction`.*, `User`.*, `Tipster`.`username`
FROM `pronostics_framework`.`users` AS `User`
LEFT JOIN `pronostics_framework`.`users` AS `Tipster` ON (`User`.`tipster_id` = `Tipster`.`id`)
LEFT JOIN `pronostics_framework`.`paypal_transactions` AS `Transaction` ON Transaction.user_id = User.id
LEFT JOIN `pronostics_framework`.paypal_transactions AS Transactions1 
    ON Transactions1.user_id = Transactions.user_id AND Transactions1.user_id > Transactions.user_id
WHERE Transactions1.user_id IS NULL
ORDER BY `User`.`id` DESC
LIMIT 500

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

왼쪽 조인을 사용한 MySql 다중 테이블 쿼리

분류에서Dev

카테고리 테이블을 왼쪽으로 조인하여 트랜잭션 수 계산

분류에서Dev

MySQL은 두 테이블을 조인하고 여러 행을 반환합니다.

분류에서Dev

"내부 조인"절을 사용하여 두 테이블을 조인 한 다음 여러 "왼쪽 조인"절을 따르는 방법이 있습니까?

분류에서Dev

mysql에서 왼쪽 조인을 사용하여 세 테이블 간 업데이트

분류에서Dev

여러 사용자에 대해 여러 항목이있는 트랜잭션 테이블에서 쿼리를 실행해야합니다.

분류에서Dev

왼쪽 조인을 사용하여 두 개의 다른 테이블에 MySql 삽입

분류에서Dev

왼쪽 조인을 사용하여 자식에서 부모 테이블로 하이버 네이트 HQL

분류에서Dev

조인-두 테이블에서 필터를 사용하여 왼쪽 조인, 일치하지 않으면 0을 반환합니다.

분류에서Dev

조인을 사용하여 여러 테이블의 MySQL 카운트 행

분류에서Dev

MySQL은 Join을 사용하여 왼쪽 테이블의 모든 레코드를 나열합니다.

분류에서Dev

MySQL LEFT JOIN은 오른쪽 테이블에 where 조건이있는 행 하나만 반환합니다.

분류에서Dev

왼쪽 외부 조인은 왼쪽 테이블의 모든 행을 반환하지 않습니다.

분류에서Dev

왼쪽 외부 조인을 사용하여 두 테이블을 조인하고 오른쪽 테이블 열을 기반으로 새 열 값 채우기

분류에서Dev

SQL 조인 레코드 당 트랜잭션 테이블의 최신 항목을 기반으로 여러 테이블을 조인

분류에서Dev

2 데이터 테이블의 linq를 사용하여 여러 열을 왼쪽으로 조인하고 1 개의 datagridview에 바인딩합니다.

분류에서Dev

2 데이터 테이블의 linq를 사용하여 여러 열을 왼쪽으로 조인하고 1 개의 datagridview에 바인딩합니다.

분류에서Dev

추가 절이있는 MySQL 왼쪽 조인은 일치하지 않는 행을 반환합니다.

분류에서Dev

왼쪽 외부 조인 및 on 절을 사용하여 공통 열이있는 두 개의 다른 테이블에서 데이터 검색

분류에서Dev

sqlalchemy 코어를 사용하여 UPDATE 왼쪽 조인 다중 테이블 쿼리 (MySQL)를 작성하는 방법은 무엇입니까?

분류에서Dev

같은 테이블을 왼쪽 조인

분류에서Dev

여러 테이블을 사용하는 MySQL 사용자 지정 조인 쿼리

분류에서Dev

mysql에서 조인을 사용하여 한 테이블에서 한 행을 선택하고 다른 테이블에서 여러 행을 선택하는 방법,

분류에서Dev

SQL은 왼쪽 테이블에서 왼쪽 조인 값을 가져옵니다.

분류에서Dev

조건이있는 행을 사용하여 왼쪽 결합

분류에서Dev

두 테이블을 사용한 내부 조인 및 다른 테이블과 결과를 왼쪽 조인

분류에서Dev

PHP MySQL 사용자 테이블을 여러 열 및 행에 조인

분류에서Dev

왼쪽 조인을 사용하여 마스터 테이블에서 모든 데이터를 가져 오는 방법은 무엇입니까?

분류에서Dev

왼쪽 조인 테이블의 행이 널이면 다른 행을 사용하십시오.

Related 관련 기사

  1. 1

    왼쪽 조인을 사용한 MySql 다중 테이블 쿼리

  2. 2

    카테고리 테이블을 왼쪽으로 조인하여 트랜잭션 수 계산

  3. 3

    MySQL은 두 테이블을 조인하고 여러 행을 반환합니다.

  4. 4

    "내부 조인"절을 사용하여 두 테이블을 조인 한 다음 여러 "왼쪽 조인"절을 따르는 방법이 있습니까?

  5. 5

    mysql에서 왼쪽 조인을 사용하여 세 테이블 간 업데이트

  6. 6

    여러 사용자에 대해 여러 항목이있는 트랜잭션 테이블에서 쿼리를 실행해야합니다.

  7. 7

    왼쪽 조인을 사용하여 두 개의 다른 테이블에 MySql 삽입

  8. 8

    왼쪽 조인을 사용하여 자식에서 부모 테이블로 하이버 네이트 HQL

  9. 9

    조인-두 테이블에서 필터를 사용하여 왼쪽 조인, 일치하지 않으면 0을 반환합니다.

  10. 10

    조인을 사용하여 여러 테이블의 MySQL 카운트 행

  11. 11

    MySQL은 Join을 사용하여 왼쪽 테이블의 모든 레코드를 나열합니다.

  12. 12

    MySQL LEFT JOIN은 오른쪽 테이블에 where 조건이있는 행 하나만 반환합니다.

  13. 13

    왼쪽 외부 조인은 왼쪽 테이블의 모든 행을 반환하지 않습니다.

  14. 14

    왼쪽 외부 조인을 사용하여 두 테이블을 조인하고 오른쪽 테이블 열을 기반으로 새 열 값 채우기

  15. 15

    SQL 조인 레코드 당 트랜잭션 테이블의 최신 항목을 기반으로 여러 테이블을 조인

  16. 16

    2 데이터 테이블의 linq를 사용하여 여러 열을 왼쪽으로 조인하고 1 개의 datagridview에 바인딩합니다.

  17. 17

    2 데이터 테이블의 linq를 사용하여 여러 열을 왼쪽으로 조인하고 1 개의 datagridview에 바인딩합니다.

  18. 18

    추가 절이있는 MySQL 왼쪽 조인은 일치하지 않는 행을 반환합니다.

  19. 19

    왼쪽 외부 조인 및 on 절을 사용하여 공통 열이있는 두 개의 다른 테이블에서 데이터 검색

  20. 20

    sqlalchemy 코어를 사용하여 UPDATE 왼쪽 조인 다중 테이블 쿼리 (MySQL)를 작성하는 방법은 무엇입니까?

  21. 21

    같은 테이블을 왼쪽 조인

  22. 22

    여러 테이블을 사용하는 MySQL 사용자 지정 조인 쿼리

  23. 23

    mysql에서 조인을 사용하여 한 테이블에서 한 행을 선택하고 다른 테이블에서 여러 행을 선택하는 방법,

  24. 24

    SQL은 왼쪽 테이블에서 왼쪽 조인 값을 가져옵니다.

  25. 25

    조건이있는 행을 사용하여 왼쪽 결합

  26. 26

    두 테이블을 사용한 내부 조인 및 다른 테이블과 결과를 왼쪽 조인

  27. 27

    PHP MySQL 사용자 테이블을 여러 열 및 행에 조인

  28. 28

    왼쪽 조인을 사용하여 마스터 테이블에서 모든 데이터를 가져 오는 방법은 무엇입니까?

  29. 29

    왼쪽 조인 테이블의 행이 널이면 다른 행을 사용하십시오.

뜨겁다태그

보관