Faktura w SQL z danych z Invoice?

0

Witam!
Mam mały problem nad którym głowię się od pewnego czasu:
Pracuję na starej bazie danych Northwind. Mam dwa zadania dot. SQL , pierwsze" Stwórz zapytanie zawierające niezbędne dane do wyświetlania pozycji faktur".
W sumie niezbyt trudne, napisałem taki skrypt:

SELECT		 b.OrderID, 
			 b.CustomerID, 
			c.CompanyName, 
			c.Address, 
			c.City,  
			c.PostalCode, 
			c.CountryID as CustomersCountryID, 
			concat(d.FirstName,  ' ', d.LastName) as Salesperson,   
			a.CompanyName as ShippingVia, 
			e.ProductID, 
			f.ProductName, 
			e.Quantity, 
			e.UnitPrice * e.Quantity * (1 - e.Discount) as ExtendedPrice
from Shippers a 
inner join Orders b on a.ShipperID = b.ShipVia 
inner join Customers c on c.CustomerID = b.CustomerID
inner join Employees d on d.EmployeeID = b.EmployeeID
inner join [Order Details] e on b.OrderID = e.OrderID
inner join Products f on f.ProductID = e.ProductID
order by b.OrderID

Drugie zadanie sprawia mi problem. "Stwórz tabelkę/widok zawierająca wszystkie niezbędne dane do wyświetlania ogólnych danych faktur.
Zrobiłem to na zasadzie " CREATE VIEW "
Ale przełożonemu chodzi o stworzenie czegoś, co ma przypominać typową, drukowaną fakturę.

Coś takiego

W sensie, aby oddzielnie były zgrupowane informacje odnośnie odbiorcy, zamówienia itp.
Nie wiem jak to zrobić by osiągnąć oczekiwany efekt, jakieś pomysły?

0

Takich rzeczy nie robi się na bazie. Wygląd zalatwia aplikacja. Baza zwraca tylko niezbędne zestawy danych. To nie ma sensu...

0

No na upartego można sobie narysować rubryczki przy użyciu znaków: _ oraz |. Takie ASCII art w SQL. Tylko szybciej będzie to zrobić w czymkolwiek innym.

1

U mnie dawno temu kiedy jeszcze stawiałam pierwsze kroki w IT takie druczki robiliśmy na gotowych pdfach, gdzie wklejony był wzór takiego druczku, dane z bazy były pobierane za pomocą grooviego i parsowane do XML, a z XML do samego druczku byly wyciągane XSLT.
Z grubsza trochę dziergania było ale dawało radę.

1 użytkowników online, w tym zalogowanych: 0, gości: 1