2017-07-24 78 views
0

我有四個表。獲取最近插入的行按時間加入查詢

  1. 銀行

enter image description here

  • 平衡 enter image description here

  • 公司

  • enter image description here

  • 關係
  • enter image description here

    從下面查詢我正在geeting以下結果

    SELECT A.bank_name, 
         B.comp_name, 
         C.b_num, 
         C.balance_now 
    FROM balance C 
    LEFT JOIN relation D 
        ON C.relation_id=D.s_no 
    LEFT JOIN bank A 
        ON A.bank_id=D.bank_id 
    LEFT JOIN company B 
        ON B.comp_id=D.comp_id 
    GROUP BY C.relation_id 
    

    OUTPUT

    enter image description here

    預期產出:從餘額表我想獲得關係ID,平衡使用時間字段,即最近的時間。

    +0

    下一次,請提供格式化的文本,而不是圖片 – Strawberry

    +0

    肯定。下次我會... –

    +0

    也許這是下一次;-) – Strawberry

    回答

    0

    你可以Concat的日期和時間欄得到datetime列,以便通過它和使用限制選擇頂部1行,是這樣的:

    SELECT A.bank_name, 
         B.comp_name, 
         C.b_num, 
         C.balance_now , 
         C.relation_id 
    FROM balance C 
    LEFT JOIN relation D 
        ON C.relation_id=D.s_no 
    LEFT JOIN bank A 
        ON A.bank_id=D.bank_id 
    LEFT JOIN company B 
        ON B.comp_id=D.comp_id 
    GROUP BY C.relation_id 
    ORDER BY concat(C.date,' ',C.time) DESC 
    LIMIT 1 
    
    +0

    限制只會給一行。但我想用最近的時間從平衡表中得到每一個最後的relation_id –