2014-05-22 4 views
0

데이터베이스에 3 개의 테이블이 있습니다. 먼저 account_group, 다음은 ledger이고 마지막 하나는 account_receipt입니다. account_group에는 group_id 및 group_name 필드가 있으며이 group_id는 ledger에 매핑되고 ledger 테이블에는 ledger_name 필드가 포함됩니다 및 group_id. 마지막 테이블의 account_receipt에는 ledger_id 및 receipt_amount 필드가 있습니다.3 테이블에서 데이터 가져 오기

그래서 내가 원하는 것은 group_id가 주어질 때 영수증 세부 사항을 얻고 싶습니다.이 질문에 대한 글을 쓸 수 없습니다. 도움을 받으시면 감사하겠습니다.

schema:: 
account_group:: 
    id   int(11) 
    group_name varchar(60) 
ledger :: 
     id   int(11) 
    group_id varchar(60) 
     ledger_name  varchar(60) 
account_receipt:: 
     id   int(11) 
     ledger_id  int(11) 
    amount   float 
     receipt_date  date 
+0

아래에 주어졌다 .. . –

+0

@ RaphaëlAlthaus 업데이트 – droidev

답변

0

다음 쿼리를 사용해보십시오. JOIN을 사용하여 다양한 테이블, 열 별칭 및 테이블 별칭을 연결합니다.

SELECT 
    ag.id group_id, 
    l.id ledger_id, 
    l.ledger_name ledger_name 
    ar.id receipt_id, 
    ar.amount amount, 
    ar.receipt_date receipt_date 
FROM account_receipt ar 
INNER JOIN ledger l ON ar.ledger_id = l.id 
INNER JOIN account_group ag ON ag.id = l.group_id AND ag.id = <given group id>; 
0

세 테이블에 합류 예 당신은 (이상적으로 일부 datas에) 당신의 테이블의 스키마를 보여 주면 그것은 대신 그들을 설명하는, 읽고 이해하기가 훨씬 쉽다

select * from Table_A A 
join Table_B B on B.id=A.id 
join Table_C C on C.id=A.id