Strona 4 z 5
Re: [Transakcje] Własne zestawienia danych - wątek zbiorczy
: 06 paź 2023, 11:01
autor: robi1976
tomazik123 pisze: ↑04 paź 2023, 07:55
Sprecyzuj bardziej swoje zapytanie. Czy dokonali ponownego zakupu produktu x, produktu innego niż x, czy obojętnie jakiego i czy dokonali zakupu w danym miesiącu czy dokonali zakupu po dacie zakupu produktu x?
Jaki % klientów, którzy kupili produkt x[EAN] dokonali
kolejnego dowolnego zakupu po dacie zakupu produktu x?
Re: [Transakcje] Własne zestawienia danych - wątek zbiorczy
: 06 paź 2023, 12:40
autor: tomazik123
Nie mam za bardzo jak przetestować bo my sprzedajemy pojedyncze sztuki, ale spróbuj (przyjąłem miesiąc wrzesień):
Kod: Zaznacz cały
WITH wynikpierwszy AS (
SELECT ID_KLIENT, DATA_ZAKUPU
FROM TRANSAKCJE
WHERE EAN = 'tutajwpiszean' AND DATA_ZAKUPU BETWEEN '2023-09-01' and '2023-09-31' and GRUPA_IDS = ''
),
IloscPierwszy AS (
SELECT COUNT(*) AS Ilosc1
FROM wynikpierwszy
),
IloscDrugi AS (
SELECT COUNT(DISTINCT w.ID_KLIENT) AS Ilosc2
FROM wynikpierwszy w
JOIN TRANSAKCJE t ON w.ID_KLIENT = t.ID_KLIENT AND t.DATA_ZAKUPU > w.DATA_ZAKUPU AND GRUPA_IDS = ''
)
SELECT
CASE
WHEN i1.Ilosc1 = 0 THEN 0
ELSE (i2.Ilosc2 * 100.0 / i1.Ilosc1)
END AS ProcentKlientow
FROM IloscPierwszy i1, IloscDrugi i2;
a jeśli chcesz sobie wyświetlić zestawienie ilości i sumy zakupów dokonanych przez Klientów po zakupie produktu x to zastosuj to zapytanie
Kod: Zaznacz cały
WITH wynikpierwszy AS (
SELECT ID_KLIENT, DATA_ZAKUPU
FROM TRANSAKCJE
WHERE EAN = 'tutajwpiszEAN' and DATA_ZAKUPU BETWEEN '2023-09-01' and '2023-09-31' and GRUPA_IDS = ''
)
SELECT tk.KL_LOGIN AS Login,
SUM(t.ilosc) AS SumaIlosc,
ROUND(SUM(t.KWOTA), 2) AS Sumakwota
FROM wynikpierwszy w
JOIN TRANSAKCJE t ON w.ID_KLIENT = t.ID_KLIENT AND t.DATA_ZAKUPU > w.DATA_ZAKUPU
JOIN TRANS_KLIENCI tk ON w.ID_KLIENT = tk.ID_KLIENT
GROUP BY tk.KL_LOGIN;
jakby nie działało albo chciałbyś coś dołożyć - daj znać.
Re: [Transakcje] Własne zestawienia danych - wątek zbiorczy
: 08 paź 2023, 12:52
autor: KarolinaS
Dzień dobry,
Chciałabym prosić o pomoc w edytowaniu skryptu, którym aktualnie się posługuję:
SELECT
SUBSTRING(data_zakupu FROM 1 FOR 10) as data, COUNT(id_klient) AS klienci, SUM(ilosc) AS sztuk, Round(SUM(kwota),2) AS kwota
FROM
transakcje AS t
WHERE
id IN ([ZAZN]) AND grupa_ukryj=0 AND kosz=0
GROUP BY
data
ORDER BY
data
W tej wersji skrypt tworzy zestawienie, które podlicza ogólną sprzedaż z podziałem na daty. Potrzebuję dwa inne zestawienia:
1) j.w. ale bez podziału na daty
2) j.w. ale z WYKLUCZENIEM usługi dodatkowej (np. pakowanie na prezent) jako sztukę sprzedażową
Re: [Transakcje] Własne zestawienia danych - wątek zbiorczy
: 08 paź 2023, 15:09
autor: tomazik123
Czyli jedno pod drugim?
1) j.w. ale bez podziału na daty
Kod: Zaznacz cały
SELECT
t.data_zakupu,
k.KL_LOGIN AS klient,
t.ilosc AS sztuk,
Round((t.kwota),2) AS kwota
FROM
transakcje AS t
JOIN
TRANS_KLIENCI AS k ON t.id_klient = k.id_klient
WHERE
t.id IN ([ZAZN]) AND t.grupa_ukryj=0 AND t.kosz=0
ORDER BY
t.data_zakupu ASC;
2) j.w. ale z WYKLUCZENIEM usługi dodatkowej (np. pakowanie na prezent) jako sztukę sprzedażową
Kod: Zaznacz cały
SELECT
t.data_zakupu,
k.KL_LOGIN AS klient,
t.ilosc AS sztuk,
Round((t.kwota),2) AS kwota
FROM
transakcje AS t
JOIN
TRANS_KLIENCI AS k ON t.id_klient = k.id_klient
WHERE
t.id IN ([ZAZN]) AND t.grupa_ukryj=0 AND t.kosz=0 AND USLUGA =''
ORDER BY
t.data_zakupu ASC;
Re: [Transakcje] Własne zestawienia danych - wątek zbiorczy
: 23 paź 2023, 18:52
autor: Szady
Poproszę o zestawienie:
ID ZAMÓWIENIA ; TYTUŁ AUKCJI ; KOD ; SUMA PRODUKTÓW Z ZAZNACZENIA O TYM SAMYM KODZIE ; CENA ZAKUPU
Z góry dziękuję.
PhotoSoft pisze: ↑24 paź 2023, 11:17
Nie może być jednocześnie pobrane ID zamówienia i suma produktów wg kodu.
Rozumiem. Poproszę w takim razie bez ID z sumą, oraz bez sumy ale z ID. Coś z tego wymyślę. Dziękuję.
Edycja PhotoSoft
Zestawienie 1:
Kod: Zaznacz cały
SELECT
tytul_aukcji, t.kod, t.ean, SUM(ilosc) AS suma, cena_zakupu
FROM
transakcje AS t
LEFT JOIN
produkty p ON t.kod=p.kod
WHERE
t.id IN ([ZAZN]) AND grupa_ids='' AND kosz=0
GROUP BY
t.kod, t.ean, tytul_aukcji, cena_zakupu
Zestawienie 2:
Kod: Zaznacz cały
SELECT
t.id, tytul_aukcji, t.kod, t.ean, ilosc, cena_zakupu
FROM
transakcje AS t
LEFT JOIN
produkty p ON t.kod=p.kod
WHERE
t.id IN ([ZAZN]) AND grupa_ids='' AND kosz=0
Re: [Transakcje] Własne zestawienia danych - wątek zbiorczy
: 25 paź 2023, 13:31
autor: PhotoSoft
Proszę sobie sprawdzić zapytania.
Re: [Transakcje] Własne zestawienia danych - wątek zbiorczy
: 25 paź 2023, 16:27
autor: Szady
Zapytania działają, z tym że chodziło o cenę zakupu. Proszę o ewentualną zmianę bądź edycję. Pozdrawiam.
Re: [Transakcje] Własne zestawienia danych - wątek zbiorczy
: 26 paź 2023, 09:33
autor: PhotoSoft
Poprawiłem, proszę sprawdzić.
Re: [Transakcje] Własne zestawienia danych - wątek zbiorczy
: 03 lis 2023, 13:21
autor: Szady
Jeżeli to możliwe proszę jeszcze o dopisanie EAN. Dziękuję.
Re: [Transakcje] Własne zestawienia danych - wątek zbiorczy
: 06 lis 2023, 09:42
autor: PhotoSoft
Poprawiłem, proszę sprawdzić.
Re: [Transakcje] Własne zestawienia danych - wątek zbiorczy
: 26 kwie 2024, 09:22
autor: KD9
Zapytanie, które wcześniej mi działało, teraz zawiesza program - co jest z nim nie tak?
select a.id_konto, g.GRUPA, a.id, tytul, kod, liczba, cena_kt, all_cena, data_zakon, EAN, archiwum, id_mag_prod
FROM AUKCJE AS a
left join AUK_ALLEGRO AS aa on aa.nr_aukcji=a.nr_aukcji
left join AUK_GRUPY AS g on g.id=a.id_grupa
left join AUK_PROD as mag on mag.id_aukcji = a.id
Error writing data to the connection. Error reading data from the connection. FirebirdSql.Data.FirebirdClient.FbException (0x80004005): Error writing data to the connection. Error reading data from the connection. ---> FirebirdSql.Data.Common.IscException: Error writing data to the connection. Error reading data from the connection. ---> System.IO.IOException: Nie można zapisać danych do połączenia transportowego: Istniejące połączenie zostało gwałtownie zamknięte przez zdalnego hosta. ---> System.Net.Sockets.SocketException: Istniejące połączenie zostało gwałtownie zamknięte przez zdalnego hosta w System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size) --- Koniec śladu stosu wyjątków wewnętrznych --- w System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32 size) w FirebirdSql.Data.Client.Managed.FirebirdNetworkHandlingWrapper.Flush() w FirebirdSql.Data.Client.Managed.Version10.GdsTransaction.Rollback() --- Koniec śladu stosu wyjątków wewnętrznych --- w FirebirdSql.Data.Client.Managed.Version10.GdsTransaction.Rollback() w FirebirdSql.Data.Client.Managed.Version10.GdsTransaction.Dispose2() w FirebirdSql.Data.FirebirdClient.FbTransaction.Dispose(Boolean disposing) w FirebirdSql.Data.FirebirdClient.FbTransaction.Dispose(Boolean disposing) w FirebirdSql.Data.FirebirdClient.FbCommand.RollbackImplicitTransaction() w FirebirdSql.Data.FirebirdClient.FbCommand.CommitImplicitTransaction() w FirebirdSql.Data.FirebirdClient.FbDataReader.Close() w FirebirdSql.Data.FirebirdClient.FbDataReader.Dispose(Boolean disposing) w System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) w System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior) w System.Data.Common.DbDataAdapter.Fill(DataTable dataTable) w EasyUploader.Features.Transakcje.FormTransakcjeZestawienie.buttoWykonaj_Click(Object sender, EventArgs e)
Re: [Transakcje] Własne zestawienia danych - wątek zbiorczy
: 26 kwie 2024, 10:18
autor: PhotoSoft
Od teraz w tabeli AUK_ALLEGRO jest nowa kolumna definiująca serwis.
select a.id_konto, g.GRUPA, a.id, tytul, kod, liczba, cena_kt, all_cena, data_zakon, EAN, archiwum, id_mag_prod
FROM AUKCJE AS a
left join AUK_ALLEGRO AS aa on aa.nr_aukcji=a.nr_aukcji AND aa.serwis=a.serwis
left join AUK_GRUPY AS g on g.id=a.id_grupa
left join AUK_PROD as mag on mag.id_aukcji = a.id