TOP 1 z UNION ?

0

Mam taki fragment zapytania:

SELECT w.Data FROM Dokumenty_WyciagBankowy W
INNER JOIN Dokumenty_WyciagBankowy_Pow POW ON (POW.Id_Dokumenty_WyciagBankowy=w.Id_Dokument_WyciagBankowy)
WHERE pow.id_dok=238

UNION

SELECT dk.Data_Dok FROM Dokumenty_Kasowe dk
INNER JOIN Dokumenty_Kasowe_sz dks ON (dks.Id_Dokument_Kasowy=dk.Id_Dokument_Kasowy)
WHERE dks.id_dok_zrodlo=238

ORDER BY W.data 

W ten sposób wyciągam datę zapłaty za jakiś dokument z wyciągów bankowych i z kasy i mogę otrzymać dwie daty.
Ale ja potrzebuję tylko jedną datę, najwcześniejszą.
Może ktoś ma jakiś pomysł jak to zrobić z UNION lub bez.
Dodam tylko że to jest podzapytanie, więc za bardzo nie można z tym kombinować.

0

Jeżeli nie możesz za bardzo kombinować z tymi zapytaniami to najprostszym rozwiązaniem będzie:

SELECT min(DataDokumentu) from
(
  SELECT w.Data as DataDokumentu FROM Dokumenty_WyciagBankowy W
  INNER JOIN Dokumenty_WyciagBankowy_Pow POW ON       
  (POW.Id_Dokumenty_WyciagBankowy=w.Id_Dokument_WyciagBankowy)
  WHERE pow.id_dok=238

  UNION

  SELECT dk.Data_Dok FROM Dokumenty_Kasowe dk
  INNER JOIN Dokumenty_Kasowe_sz dks ON (dks.Id_Dokument_Kasowy=dk.Id_Dokument_Kasowy)
  WHERE dks.id_dok_zrodlo=238
) Temp
0

uzyj union all

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