Zapytanie wygląda tak:
SELECT p.[IdP],p.[PRegon],p.[pTypSklepu],p.[NazwaProduktu],p.[DostepnaIlosc],p.[StanProduktu],p.[CenaBrutto],p.[Obraz1] FROM [AGD/RTV] p JOIN tSklepS d ON d.Wojewodztwo=@Param5 AND p.PRegon=d.regon WHERE CONTAINS ([NazwaProduktu],@Param) AND p.StanProduktu=@Param2 UNION ALL SELECT p.[IdP],p.[PRegon],p.[pTypSklepu],p.[NazwaProduktu],p.[DostepnaIlosc],p.[StanProduktu],p.[CenaBrutto],p.[Obraz1] FROM [ELEKTRONIKA] p JOIN tSklepS d ON d.Wojewodztwo=@Param5 AND p.PRegon=d.regon WHERE CONTAINS ([NazwaProduktu],@Param) AND p.StanProduktu=@Param2 UNION ALL SELECT p.[IdP],p.[PRegon],p.[pTypSklepu],p.[NazwaProduktu],p.[DostepnaIlosc],p.[StanProduktu],p.[CenaBrutto],p.[Obraz1] FROM [KSIĘGARNIA] p JOIN tSklepS d ON d.Wojewodztwo=@Param5 AND p.PRegon=d.regon WHERE CONTAINS ([NazwaProduktu],@Param) AND p.StanProduktu=@Param2 UNION ALL SELECT p.[IdP],p.[PRegon],p.[pTypSklepu],p.[NazwaProduktu],p.[DostepnaIlosc],p.[StanProduktu],p.[CenaBrutto],p.[Obraz1] FROM [MEBLOWY] p JOIN tSklepS d ON d.Wojewodztwo=@Param5 AND p.PRegon=d.regon WHERE CONTAINS ([NazwaProduktu],@Param) AND p.StanProduktu=@Param2 UNION ALL SELECT p.[IdP],p.[PRegon],p.[pTypSklepu],p.[NazwaProduktu],p.[DostepnaIlosc],p.[StanProduktu],p.[CenaBrutto],p.[Obraz1] FROM [MOTORYZACJA] p JOIN tSklepS d ON d.Wojewodztwo=@Param5 AND p.PRegon=d.regon WHERE CONTAINS ([NazwaProduktu],@Param) AND p.StanProduktu=@Param2
Szukałem bugu u siebie w skrypcie i nadal mam wątpliwości,gdyż użyłem samo UNION i rekordy nie zostały zdublowane,jednakże patrząc na zapytanie każdy Select po union ALL tyczy się innej tabeli.Czy to może być wina złączenia join?Czy to w ogóle jest wina kwerendy?Nie mogę dopatrzyć się przyczyny dublowania rekordu.Jeśli zdecydowanie wina kwerendy jakbym mógł ją przerobić,tak aby rekordy się nie dublowały,pozostawiając przy tym dyrektywę UNION ALL.Z góry dziękuję za pomoc.