![](/img/trans.png)
[英]SQL query to return multiple row into a single row and column of the same table
[英]SQL, return a row multiple times from single table based on variable
我正在使用iReport創建一些盒子標簽,並且需要將每個盒子標簽的數據相乘。
我有2個參數,@ id為記錄ID,@ typ為所需的包類型
SELECT
dr_id,
dr_to_customer,
dr_company_name,
dr_address_0,
dr_address_1,
dr_address_2,
dr_address_3,
dr_postcode,
dr_contact,
dr_per_packs,
dr_per_boxes,
dr_per_pallets
FROM delreq
WHERE dr_id = @id AND ??timesTOrepeat?? = @typ (a string)
我需要根據包裝,箱子或托盤中的數量將每行返回x次。
因此,我需要首先基於@typ選擇數量,然后找出如何將行相乘。
救命。
您可以嘗試使用外部聯接來實現。 嘗試這個:
SELECT
dr_id,
dr_to_customer,
dr_company_name,
dr_address_0,
dr_address_1,
dr_address_2,
dr_address_3,
dr_postcode,
dr_contact,
dr_per_packs,
dr_per_boxes,
dr_per_pallets
FROM delreq a, (select -1 id from all_objects where rownum < @typ) b
WHERE dr_id = @id AND a.dr_id(+) = b.id;
我在這里假設dr_id將不具有值-1,也假設db是oracle [不確定是否鄰接其他DB。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.