0
我需要有一個MySQL視圖返回每張發票號碼的單排和所有相關記錄MySQL視圖1:許多表顯示所有相關記錄在單行
發票
--------------------------------------------
|InvoiceID| CustomerID | InvoiceDetailsID |
--------------------------------------------
| 1 | 1001 | 2200 |
--------------------------------------------
| 2 | 2000 | 2100 |
--------------------------------------------
詳細
-----------------------------------------------
| ID | DetailsID | Description | Amount |
-----------------------------------------------
| 1 | 2200 | 10211 | 22.00 |
-----------------------------------------------
| 2 | 2200 | 10212 | 12.00 |
-----------------------------------------------
| 3 | 2200 | 10922 | 99.00 |
-----------------------------------------------
| 4 | 2100 | 99111 | 1.00 |
-----------------------------------------------
| 5 | 2100 | 88229 | 4.50 |
-----------------------------------------------
需要返回如下(細節表可以有超過3個記錄每個DetailsID但我只需要顯示 前三每個DetailsI D基於ID)
------------------------------------------------------------------------------------------------------------------------------
| InvoiceID | CustomerID | InvoiceDetailsID | Description_1 | Amount_1 | Description_2 | Amount_2 | Description_3 | Amount_3 |
- -----------------------------------------------------------------------------------------------------------------------------
| 1 | 1001 | 2200 | 10211 | 22.00 | 10212 | 12.00 | 10922 | 99.00 |
------------------------------------------------------------------------------------------------------------------------------
| 2 | 2000 | 2100 | 99111 | 1.00 | 88229 | 4.50 | NULL | NULL |
------------------------------------------------------------------------------------------------------------------------------
您可能會發現更改應用程序邏輯更容易,因此簡單的連接就可以工作(如果可以的話)。然後,您可以使用嵌套select來爲每個發票返回三行。 –
如果您有100張發票記錄,會發生什麼情況?你會有200多列嗎?你的設計不可擴展,坦率地說是可怕的。使用應用程序邏輯處理多個發票記錄 – Bohemian
每條記錄單行的原因是Tableau Server需要扁平結構。控制數據CRUD的應用程序在結構上沒有問題。它旨在提供可擴展性,但Tableau是限制因素。 – Jeff