Tomasz Drzazga

Tomasz Drzazga Informatyk, Infolex
Duszniki-Zdrój

Temat: Ciekawy i chyba trudny przypadek

Witam. Zastanawiam się czy w CR jest możliwość zrobienia takiego myku:
W wyniku select zwraca mi kilka wierszy. Teraz chciałbym, żeby wiersz, który ma atrybut_n3 = x był wyświetlony x razy. I tak dla każdego wiersza w zależności od wartości pola atrybutu_n3 wiersz ma być wyświetlony x razy.

atrybut_n3 to jest jedna z kolumn w mojej tabeli.

przykład wiersza:
imie nazwisko atrybut_n3
Tomasz Kowalski 3

W tej sytuacji wynik w CR powinien być:
imie nazwisko atrybut_n3
Tomasz Kowalski 3
Tomasz Kowalski 3
Tomasz Kowalski 3

Ciekawy problem. Poszukam jeszcze w sieci i może coś znajdę.
Tomasz Drzazga

Tomasz Drzazga Informatyk, Infolex
Duszniki-Zdrój

Temat: Ciekawy i chyba trudny przypadek

Już sobie poradziłem za pomocą SQL. Umieszczam rozwiązanie dla innych:)

Some times we want to duplicate each row based on a column value. We will see how to solve this problem with an example. Assume that we have a products table, which has the product name and the number of products sold.

Table: products

product_name products_sold
A 2
B 3
Now we want to duplicate each row based on the products_sold field. So, that product A record will repeat 2 times and product B record will repeat 3 times as shown below:

product_name products_sold
A 2
A 2
B 3
B 3
B 3
The following query will generate the duplicate records that we need

SELECT product_name,
products_sold
FROM products p,
(SELECT rownum repeat FROM dual
CONNECT BY LEVEL<=
(SELECT MAX(products_sold) from products )
)r
WHERE p.products_sold>=r.repeat;
Marcin S.

Marcin S. Programista, trener
i konsultant w
zakresie .NET/.NET
Cor...

Temat: Ciekawy i chyba trudny przypadek

Stworzenie takiego rozwiązania w samym Crystalu nie jest możliwe. Trzeba odpowiednio wcześniej przygotować dane, co uczyniłeś właśnie zapytaniem SQL.

Następna dyskusja:

Dwa zapytania - ciekawy prz...




Wyślij zaproszenie do