Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Łączenie 2 tabel i podliczenie
honciv
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 28.12.2017

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


Witam serdecznie,

jestem początkujący i zmagam się z takim oto zadaniem:

z tabel, ze strony:
https://www.w3schools.com/sql/trysql.asp?fi...ysql_select_all

muszę wydobyć i pokazać ilu i jakich klientów obsługiwała Nancy?

z góry dziękuje za pomoc (IMG:style_emoticons/default/smile.gif)

Ten post edytował honciv 28.12.2017, 15:06:51
Go to the top of the page
+Quote Post
Tomplus
post
Post #2





Grupa: Zarejestrowani
Postów: 1 884
Pomógł: 231
Dołączył: 20.03.2005
Skąd: Będzin

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


Kod
SELECT c.CustomerName, o.*, e.FirstName Employee FROM [Orders] o INNER JOIN [Customers] c ON c.CustomerID = o.CustomerID LEFT JOIN [Employees] e ON e.EmployeeID = 1
Go to the top of the page
+Quote Post
mmmmmmm
post
Post #3





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

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


  1. SELECT c.CustomerName, o.*, e.FirstName Employee FROM [Orders] o INNER JOIN [Customers] c ON c.CustomerID = o.CustomerID INNER JOIN [Employees] e ON e.EmployeeID = o.EmployeeID WHERE e.EmployeeID=1
Go to the top of the page
+Quote Post
honciv
post
Post #4





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 28.12.2017

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


Cytat(Tomplus @ 28.12.2017, 23:12:52 ) *
Kod
SELECT c.CustomerName, o.*, e.FirstName Employee FROM [Orders] o INNER JOIN [Customers] c ON c.CustomerID = o.CustomerID LEFT JOIN [Employees] e ON e.EmployeeID = 1


ale w tej regule pojawiają mi się wszystkie EmployeeID, a nie tylko 1 (IMG:style_emoticons/default/sad.gif)

Cytat(mmmmmmm @ 29.12.2017, 08:15:05 ) *
  1. SELECT c.CustomerName, o.*, e.FirstName Employee FROM [Orders] o INNER JOIN [Customers] c ON c.CustomerID = o.CustomerID INNER JOIN [Employees] e ON e.EmployeeID = o.EmployeeID WHERE e.EmployeeID=1


dziękuję bardzo, a czy dało by radę to podliczyć - dowiedziałem się że wynikiem mojego zapytania ma być ilość klientów obsłużonych przez Nancy
Go to the top of the page
+Quote Post
Neutral
post
Post #5





Grupa: Zarejestrowani
Postów: 286
Pomógł: 46
Dołączył: 10.01.2016

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


  1. SELECT count(*) FROM posts WHERE posts.user_id = 'Nancy' GROUP BY posts.user_id;


Coś takiego chyba powinieneś napisać.

Ten post edytował Neutral 29.12.2017, 23:09:35
Go to the top of the page
+Quote Post
mmmmmmm
post
Post #6





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

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


  1. SELECT Count(DISTINCT c.CustomerID) AS ilosc FROM [Orders] o INNER JOIN [Customers] c ON c.CustomerID = o.CustomerID INNER JOIN [Employees] e ON e.EmployeeID = o.EmployeeID WHERE e.EmployeeID=1
Go to the top of the page
+Quote Post
honciv
post
Post #7





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 28.12.2017

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


Cytat(Neutral @ 29.12.2017, 23:09:03 ) *
  1. SELECT count(*) FROM posts WHERE posts.user_id = 'Nancy' GROUP BY posts.user_id;


Coś takiego chyba powinieneś napisać.


wynik jest ok - czyli 23, a czy mogę prosić o kod z takim wynikiem, ale żeby w kodzie i wyniku oprócz liczby 23 widoczna była Nancy?

z góry dziękuję (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




NIe przesadzasz z lekka? Ciezko dopisac przy SELECT kolejna kolumne, ktrora chcesz wyswietlic?

SELECT count(*), posts.user_id FROM posts WHERE posts.user_id = 'Nancy' GROUP BY posts.user_id;
Go to the top of the page
+Quote Post
honciv
post
Post #9





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 28.12.2017

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


Cytat(nospor @ 4.01.2018, 11:31:18 ) *
NIe przesadzasz z lekka? Ciezko dopisac przy SELECT kolejna kolumne, ktrora chcesz wyswietlic?

SELECT count(*), posts.user_id FROM posts WHERE posts.user_id = 'Nancy' GROUP BY posts.user_id;


Przepraszam, dopiero się uczę, analizuję każdą pomoc od forumowiczów - mam nadzieję że będę mógł też kiedyś pomagać.

Niestety ale podany przez Ciebie kod nie działa (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




A "nie dziala" objawia sie czym?
Go to the top of the page
+Quote Post
honciv
post
Post #11





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 28.12.2017

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


po wpisaniu kodu od Ciebie nie wyskakuje m żaden wynik (IMG:style_emoticons/default/sad.gif)

Sorry za mój brak wiedzy (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
Toshikatsu
post
Post #12





Grupa: Zarejestrowani
Postów: 26
Pomógł: 3
Dołączył: 18.10.2017

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


To nie kwestia braku wiedzy, a braku chęci wyjaśnienia problemu.
"Nie działa" "Nie wyskakuje" to mało dokładne informacje.

Najlepiej by było jakbyś pokazał co robisz, bo to co dodał nospor do zapytania nie miało prawo go "zepsuć".
Go to the top of the page
+Quote Post
mmmmmmm
post
Post #13





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

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


Przecież on W OGÓLE nie ma takiej tabeli jak posts (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #14





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




@mmmmmmm czyli sugerujesz ze kolega zamienil to zapytanie
SELECT count(*) FROM posts WHERE posts.user_id = 'Nancy' GROUP BY posts.user_id;
na zapytanie z poprawna tabela zamiast posts ale mojej wersji juz nie zamienil spowrotem na poprawna tabele? Myslisz ze zrobilby cos tak niegodziwego? (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
honciv
post
Post #15





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 28.12.2017

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


nie rozumiem (IMG:style_emoticons/default/sad.gif)
nic nie zmieniałem
Go to the top of the page
+Quote Post
nospor
post
Post #16





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Tego tez nie rozumiesz
Cytat
"Nie działa" "Nie wyskakuje" to mało dokładne informacje.

Najlepiej by było jakbyś pokazał co robisz

?
Go to the top of the page
+Quote Post
Toshikatsu
post
Post #17





Grupa: Zarejestrowani
Postów: 26
Pomógł: 3
Dołączył: 18.10.2017

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


Nie chciałbym tutaj wszystkiego robić za kolegę, ale najwyraźniej przekopiował inny select, a inny zacytował w poście.

Generalnie to czego potrzebujesz, honciv to powinno być to:
  1. SELECT count(*), e.FirstName FROM Orders o JOIN Employees e ON o.EmployeeID = e.EmployeeID WHERE e.FirstName = "Nancy"


Aczkolwiek problem przy takich rzeczach wymagałby nieco więcej pracy własnej i chęci rozwiązania takiej sytuacji. Dobrym ćwiczeniem byłoby na pewno prześledzenie i spróbowanie wytłumaczyć samemu sobie(bądź nam w poście - a co!), co to zapytanie robi (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
honciv
post
Post #18





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 28.12.2017

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


Cytat(Toshikatsu @ 4.01.2018, 14:28:32 ) *
Nie chciałbym tutaj wszystkiego robić za kolegę, ale najwyraźniej przekopiował inny select, a inny zacytował w poście.

Generalnie to czego potrzebujesz, honciv to powinno być to:
  1. SELECT count(*), e.FirstName FROM Orders o JOIN Employees e ON o.EmployeeID = e.EmployeeID WHERE e.FirstName = "Nancy"


Aczkolwiek problem przy takich rzeczach wymagałby nieco więcej pracy własnej i chęci rozwiązania takiej sytuacji. Dobrym ćwiczeniem byłoby na pewno prześledzenie i spróbowanie wytłumaczyć samemu sobie(bądź nam w poście - a co!), co to zapytanie robi (IMG:style_emoticons/default/smile.gif)


Witam,
bardzo dziękuję, o to mi chodziło, w weekend siadam przy wszystkich przykładach od Was i będę rozgryzał każdy krok po kroku, bardzo dziękuję za pomoc (IMG:style_emoticons/default/smile.gif)
Miłego dnia
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 18.11.2025 - 22:04