Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wyświetlenie rekordów różnych od pozostałych
mattiuss10121
post 26.12.2016, 23:30:14
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 26.12.2016

Ostrzeżenie: (0%)
-----


Witam, głowie się od kliku dni i nie mogę wpaść na pomysł jak zbudować zapytanie. Nie jestem orłem w tym temacie a na SQL siadłem po dłuższej przerwie....
Mój problem polega na:
Mam tabelę KLIENCI w której są kolumny: ID (klucz główny), ID_MAGAZYNU, IMIĘ NAZWISKO, INDEKS_KAT, INDEKS_HAN.
Chodzi tutaj o to że jest klika magazynów w których są zapisani klienci i ktoś przez przypadek wpisał (nie jeden przypadek a wiele) pod ten sam INDEKS_KAT inne imię i nazwisko jak w pozostałych magazynach.
Moje pytanie i wielka prośba zarazem jak skonstruować zapytanie aby wyświetlić wszystkie kolumny z tabeli KLIENCI którzy mają ten sam INDEKS_KAT ale inne imię i nazwisko.
Lub chociaż proszę o naprowadzenie jakimi funkcjami konstruować zapytanie ale bardzo fajnie by było jakby ktoś pomógł mi skonstruować to zapytanie.
TABELA KLIENCI
ID | ID_MAGAZYNU | IMIĘ NAZWISKO | INDEKS_KAT | INDEKS_HAN
1 | 1 | JAN KOWALSKI | KAT0001 | HAN0001
2 | 2 | JAN KOWALSKI | KAT0001 | HAN0001
3 | 3 | JAN KOWALSKI | KAT0001 | HAN0001
4 | 4 | EWA KOWALSKA | KAT0001 | HAN0001
5 | 1 | MARCIN NOWAK | KAT0002 | HAN0002
6 | 2 | MARCIN NOWAK | KAT0002 | HAN0002
7 | 3 | KAMIL NOWAK | KAT0002 | HAN0002
8 | 4 | MARCIN NOWAK | KAT0002 | HAN0002
............

Bardzo proszę o pomoc i góry dziękuje
Go to the top of the page
+Quote Post
trueblue
post 27.12.2016, 13:27:04
Post #2





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


A które nazwiska uznajesz za różne w zestawieniu:
KAMIL NOWAK | KAT0002
MARCIN NOWAK | KAT0002
obydwa, czy jedno z nich. Jeśli jedno, to które i dlaczego?


--------------------
Go to the top of the page
+Quote Post
mmmmmmm
post 27.12.2016, 15:29:20
Post #3





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----


SELECT * FROM KLIENCI WHERE INDEKS_KAT IN (SELECT INDEKS_KAT FROM KLIENCI GROUP BY INDEKS _KAT HAVING Count(DISTINCT [IMIĘ NAZWISKO])>1)
Go to the top of the page
+Quote Post
mattiuss10121
post 27.12.2016, 22:59:31
Post #4





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 26.12.2016

Ostrzeżenie: (0%)
-----


Dziękuje wam za każdą pomoc i dziękuję mmmmmmm za zapytanie, działa tylko nie jestem pewien do końca co wypisuje...
trueblue chodzi o wypisanie tych unikatowych czyli:
4 | 4 | EWA KOWALSKA | KAT0001 | HAN0001
7 | 3 | KAMIL NOWAK | KAT0002 | HAN0002

Jak jeszcze przeczytasz mmmmmmm ten post to proszę powiedz mi czy dobrze rozumiem skonstruowane zapytanie:
WYPISZ WSZYSTKO Z TABELI KLIENCI GDZIE INDEKS KATALOGOWY JEST (INDEKSEM KATALOGOWYM ALE Z UNIKATOWYM IMIENIEM I NAZWISKIEM)
Jeśli tak to super exclamation.gif! bo samemu jest mi to trudno ocenić co ono wypisuje gdyż jest 9 magazynów * 30 000 klientów.

Proszę podpowiedzcie mi jeszcze czy dobrze myślę używając tego select'a i ustawiając kursor aby zmienić indeksy KATALOGOWE I HANDLOWE które będą stanowiły przedrostek np RE + licznik z petli WHILE czy jakoś to inaczej da się zrobić (np nie używając kursora a użyć np. przedrostek RE + KLUCZ GŁÓWNY tylko nie mam pojęcia jak to zrobić)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.03.2024 - 21:39