Autor Wątek: Problem z zapytaniem SQL PILNE POMOCY!!!!  (Przeczytany 3517 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline maddog13

  • Nowy użytkownik
  • *
  • Wiadomości: 7
  • Reputacja +0/-0
  • Wersja programu: Subiekt GT 1.31
Problem z zapytaniem SQL PILNE POMOCY!!!!
« dnia: Luty 23, 2013, 15:24:06 »
Witajcie

Mam mały problem z zapytaniem wyświetlającym zawartość faktury VAT. Zapytanie wygląda tak:

SELECT
 dok__Dokument.dok_Id,  dok_Pozycja.ob_DoId, ob_TowId, tw__Towar.tw_Symbol, tw__Towar.tw_Nazwa, dok_Pozycja.ob_Ilosc, dok_Pozycja.ob_Jm, dok_Pozycja.ob_CenaNetto, dok_Pozycja.ob_CenaBrutto,
 dok_Pozycja.ob_WartNetto, dok_Pozycja.ob_WartBrutto
FROM
 dok__Dokument
 INNER JOIN dok_Pozycja ON dok__Dokument.dok_Id = dok_Pozycja.ob_DokHanId
 INNER JOIN tw__Towar ON dok_Pozycja.ob_TowId = tw__Towar.tw_Id
WHERE
dok__Dokument.dok_Id = '125176'

Wszystko wygląda pięknie do momentu kiedy dany dokument np faktura nie jest fakturą zbiorczą, wtedy w tabeli dok_Pozycja nie ma żadnych wartości tj. cen i ilości dla danego towaru.
Skąd subiekt bierze te dane skoro nie trzyma ich w tej tabeli? Siedzę i szukam tego od rana i za chiny ludowe nie umiem tego znaleźć. Te dane potrzebne mi są do zewnętrznej aplikacji....
Jak ktoś wie jak obejść ten problem proszę o pomoc....
Z góry serdecznie dziękuję

Offline birds22

  • Ekspert
  • *****
  • Wiadomości: 9234
  • Reputacja +1306/-21
  • Wersja programu: Najnowsza
Odp: Problem z zapytaniem SQL PILNE POMOCY!!!!
« Odpowiedź #1 dnia: Luty 23, 2013, 15:31:00 »
Cytuj
Skąd subiekt bierze te dane skoro nie trzyma ich w tej tabeli?
trzyma trzyma...
Bierze wartości z dokumentów WZ składających się a tę fakturę.
Sławek, Zduńska Wola

Offline maddog13

  • Nowy użytkownik
  • *
  • Wiadomości: 7
  • Reputacja +0/-0
  • Wersja programu: Subiekt GT 1.31
Odp: Problem z zapytaniem SQL PILNE POMOCY!!!!
« Odpowiedź #2 dnia: Luty 23, 2013, 15:35:28 »
aha.... to trzeba by pobrać powiązane dokumenty WZ..... Czyli jedno zapytanie nie rozwiążę tego czyli nie będzie wyświetlało faktur zwykłych i zbiorczych..... Miałbyś może jakiś mały przykład??

Offline maddog13

  • Nowy użytkownik
  • *
  • Wiadomości: 7
  • Reputacja +0/-0
  • Wersja programu: Subiekt GT 1.31
Odp: Problem z zapytaniem SQL PILNE POMOCY!!!!
« Odpowiedź #3 dnia: Luty 23, 2013, 16:06:15 »
widzę w tabeli dokumenty WZ które teoretycznie są powiązane z tą fakturą ale nie widzę w tabeli sposobu powiązania tych dokumentów......

Offline maddog13

  • Nowy użytkownik
  • *
  • Wiadomości: 7
  • Reputacja +0/-0
  • Wersja programu: Subiekt GT 1.31
Odp: Problem z zapytaniem SQL PILNE POMOCY!!!!
« Odpowiedź #4 dnia: Luty 23, 2013, 16:30:21 »
Zmęczenie daje znać o sobie.... powiązanie jest w kolumnie dok_DoDokId ale jak pobrać dane przy tym założeniu?? proszę podpowiedzcie jak ktoś wie....

Offline Tomasz D.

  • Nowy użytkownik
  • *
  • Wiadomości: 13
  • Reputacja +0/-0
  • Wersja programu: 1.41
Odp: Problem z zapytaniem SQL PILNE POMOCY!!!!
« Odpowiedź #5 dnia: Październik 07, 2018, 16:31:35 »
@Maddog - udało Ci się rozwiązać tą zagadkę? Właśnie stoję przed tym samym problemem. W dok_pozycja nie ma ilości, a jeśli nawet odnajdę dokument powiązany (dok_dodokid) np. WZ to on jest tylko w Dok__dokument, ale nie mogę odnaleźć tej WZ (po dok_id) w dok_pozycja.

SELECT
   *
FROM [DBO].[DOK__DOKUMENT]
    LEFT JOIN [DBO].[DOK_POZYCJA] ON [DOK__DOKUMENT].[DOK_ID] = (CASE
                                                              WHEN [DOK_DODOKID] IS NULL THEN [DOK_POZYCJA].[OB_DOKHANID]
                                                               ELSE [DOK__DOKUMENT].[DOK_DODOKID]
                                                            END)
WHERE [DOK_DATAWYST] BETWEEN '2018-01-01' AND '2018-09-30'

Offline Tomasz D.

  • Nowy użytkownik
  • *
  • Wiadomości: 13
  • Reputacja +0/-0
  • Wersja programu: 1.41
Odp: Problem z zapytaniem SQL PILNE POMOCY!!!!
« Odpowiedź #6 dnia: Październik 07, 2018, 16:40:55 »
dobra znalazłem tutaj: https://forum.idg.pl/topic/198661-zestawienie-wystawionych-faktur/

...
case when dok_Pozycja.ob_Ilosc=0 THEN
(
select d2.ob_ilosc from dok_pozycja d2 where d2.ob_Id = dok_pozycja.ob_doid
)
ELSE dok_Pozycja.ob_Ilosc END AS ILOSC,
...

Offline Matternhorn

  • Użytkownik
  • **
  • Wiadomości: 55
  • Reputacja +2/-0
  • Wersja programu: Navireo+Subiekt GT - zawsze aktualne.
Odp: Problem z zapytaniem SQL PILNE POMOCY!!!!
« Odpowiedź #7 dnia: Listopad 28, 2018, 18:38:24 »
Widza tajemna? Zamiast dok__Dokument spróbuj jakiś widok np vwZstSprzWgKhnt ...

Forum Użytkownikow Subiekt GT

Odp: Problem z zapytaniem SQL PILNE POMOCY!!!!
« Odpowiedź #7 dnia: Listopad 28, 2018, 18:38:24 »