Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pomoc w zapytaniu
Forum PHP.pl > Forum > Bazy danych > Microsoft SQL Server / MSDE
mysz0n
Witam
od jakiegos czasu męczę się z zapytaniem. Słowem wyjaśnienia, mam tabele z kontrahentem i jego fakturami - do tego dorzucam nazwę magazynu z jakiego została pobrana FV i zakres dat. Wszytsko działa prawidłowo. Dalej mam tabele z cechami danego kontrahenta - wyświetlanie połączenia danych kontrahenta z jego cechami - również banał.
tak wyglądają te 2 zapytania:

  1. SELECT adr_IdObiektu,dok_MagId,dok_NrPelny,dok_DataWyst,dok_WartBrutto,adr_NazwaPelna,adr_Adres, adr_Kod, adr_Miejscowosc
  2. FROM dok__Dokument
  3. LEFT JOIN dbo.adr__Ewid
  4. ON adr_IdObiektu = dok_PlatnikId
  5. WHERE dok_DataWyst BETWEEN '2014-04-01 00:00:00.0' AND '2014-05-01 00:00:00.0'
  6. AND adr_TypAdresu = 1
  7. AND dok_MagId =2
  8. AND dok_typ=2


  1. SELECT ckh_Nazwa, ck_IdKhnt,adr_NazwaPelna
  2. FROM sl_CechaKh, kh_CechaKh, adr__Ewid
  3. WHERE
  4. ck_IdKhnt = adr_IdObiektu
  5. AND ck_IdCecha = ckh_Id
  6. AND ckh_Id = 1
  7. AND adr_TypAdresu = 1


i teraz co chce osiągnąć - chce zobaczyć wszytskich kontrahentów z podaną cechą, którzy NIE maja wystawionej FV w zadanym miesiącu.
Robiłem to na różne sposoby, ale wysiadam
Jak widać polem wspólnym dla tych zapytań jest "adr_IdObiektu"
mmmmmmm
SELECT z2.* FROM (zapytanie 2) z2 LEFT JOIN (zapytanie 1) z1 ON z1.ar_idObiektu=z2.adr_idObiektu WHERE z2.adr_is_obiektu IS NULL
mysz0n
Dzięki za zainteresowanie. zrobiłem tak:

  1. SELECT z2.* FROM (
  2. SELECT ckh_Nazwa, ck_IdKhnt,adr_NazwaPelna
  3. FROM sl_CechaKh, kh_CechaKh, adr__Ewid
  4. WHERE
  5. ck_IdKhnt = adr_IdObiektu
  6. AND ck_IdCecha = ckh_Id
  7. AND ckh_Id = 1
  8. AND adr_TypAdresu = 1
  9. ) z2 LEFT JOIN (
  10. SELECT adr_IdObiektu,dok_MagId,dok_NrPelny,dok_DataWyst,dok_WartBrutto,adr_NazwaPelna,adr_Adres, adr_Kod, adr_Miejscowosc,dok_PlatnikId
  11. FROM adr__Ewid
  12. LEFT JOIN dok__Dokument
  13. ON dok_PlatnikId = adr_IdObiektu
  14. LEFT JOIN kh_CechaKh
  15. ON ck_IdKhnt = adr_IdObiektu
  16. WHERE dok_DataWyst BETWEEN '2014-04-01 00:00:00.0' AND '2014-05-01 00:00:00.0'
  17. AND adr_TypAdresu = 1
  18. AND dok_MagId =2
  19. AND dok_typ=2
  20. AND ck_IdCecha = 1
  21. ) z1 ON z1.adr_IdObiektu=z2.adr_IdObiektu WHERE z2.adr_IdObiektu IS NULL


Ale pokazuje mi Invalid column name 'adr_IdObiektu' - chodzi mu o tą ostatnią linie - co to może byc ?
mmmmmmm
Do obu podseektów musisz tę kolumnę dodać, aby móc po niej łączyć.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.