2

我有两张桌子:

  1. 向外 - 所有交易的数据每天都在发生
  2. 收据 - 有关收到款项的信息

    向外:

    bill_No      date            perticular      amount      cust_Id     cust_Name
    1           2013-06-21       Any Item 1      1250           1        Vikram
    2           2013-06-21       Any Item 2      1500           1        Vikram 
    ------- & so on------
    

    收据:

    rec_Id     date              payment_mode     amount     cust_Id     cust_Name
    1         2013-06-21         Cash             1000        1          Vikram
    2         2013-06-22         Cash             1750        1          Vikram
    ------- & so on------
    

预期输出(在屏幕上):

Date            Particulars       Bill No     Debit        Credit        Balance
2013-06-21      Any Item 1           1         1250          -
2013-06-21      Any Item 2           1         1250          -
2013-06-21      Cash                 -           -          1000
2013-06-22      Cash                 -           -          1750

我想做的是:[制作日记]
从两个表中收集特定客户(cust_Name)的所有记录并根据日期对它们进行排序
[在同一日期:首先从外表中获取记录,然后从收据中获取记录]。

我应该执行什么查询?

Ps - 我会自己计算余额。

4

1 回答 1

4

你在找这个吗?

SELECT date, perticular, bill_No, debit, credit, balance
  FROM
(
  SELECT date, perticular, bill_No, amount debit, NULL credit, NULL balance, 1 ord
    FROM outward
   WHERE cust_id = 1
   UNION ALL
  SELECT date, payment_mode, NULL, NULL, amount, NULL, 2
    FROM receipt
   WHERE cust_id = 1
) q
ORDER BY date, ord

输出:

| 日期 | 特殊 | BILL_NO | 借方 | 信用 | 余额 |
-------------------------------------------------- ---------------
| 2013-06-21 | 任何项目 1 | 1 | 1250 | (空) | (空) |
| 2013-06-21 | 任何项目 2 | 2 | 1500 | (空) | (空) |
| 2013-06-21 | 现金 | (空) | (空) | 1000 | (空) |
| 2013-06-22 | 现金 | (空) | (空) | 1750 | (空) |

这是SQLFiddle演示

于 2013-06-20T20:47:25.283 回答