Access SQL zamiana ID na nazwę z innej tabeli

0

Witam.
Mam problem, gdyż nie wiem jak (lub jak poprawnie) zamienić IDMiasta z tabeli Osoby na M_Nazwa z tabeli Miasta.
Próbowałem joinów ale wtedy krzyczał program, że jest błąd w składni FROM, przy innej metodzie krzyczał, że IDMiasta może się odnosić do więcej niż jednej tabeli we FROM.

Tabela miasta

IDMiasta | M_Nazwa | M_Ludność | M_wielkość | IDWojewództwa

Tabela Osoby

IDOsoby | Nazwisko | Imię | Data_ur | Czy_men | IDMiasta | Adres | Zarobek | IDWykszt

Chcę wyświetlić coś takiego:

IDMiasta | max_zarobek | min_zarobek | śr_zarobek | sum_zarobek | osoby_z_miasta

Kod do tego:

SELECT  IDMiasta
,             MAX(Zarobek) AS max_zarobek
,             MIN(Zarobek) AS min_zarobek
,             avg(Zarobek) AS śr_zarobek
,             sum(Zarobek) AS sum_zarobek
,             count(IDMiasta) AS osoby_z_miasta
FROM   Osoby 
GROUP BY IDMiasta;

Chciałbym zamienić IDMiasta na M_Nazwa z tabeli Miasta, jak to mam zrobić?
Pozdrawiam.

1

Join:

SELECT M_Nazwa
,             MAX(Zarobek) AS max_zarobek
,             MIN(Zarobek) AS min_zarobek
,             avg(Zarobek) AS śr_zarobek
,             SUM(Zarobek) AS sum_zarobek
,             COUNT(osoby.IDMiasta) AS osoby_z_miasta
FROM   Osoby 
     inner join miasta on miasta.IDMiasta = Osoby.IDMiasta
GROUP BY M_Nazwa
0

Czy mogę użyć czegoś takiego:

SELECT Osoby.*, Miasta.M_Nazwa
FROM Osoby INNER JOIN miasta ON  Osoby.IDMiasta = miasta.IDMiasta 

Żeby tutaj zamieniło mi IDMiasta, a nie dodawało nową kolumnę ?
Czy nie da się tego zrobić z * i trzeba wszystkie kolumny wypisywać oddzielnie?

0

Możesz tak zapisać, jezeli nie grupujesz, tzn. nie używasz GROUP BY, ten zapis sprawia że bierzesz wszystkie kolumny z tabeli Osoby i M_Nazwa z tabeli Miasta

0

tzn. wyświetla mi się to, a czy mogę zrobić tak, że jak wezmę Osoby.* to w tym jakoś podmienić te IDMiasta na M_Nazwa, czy muszę zrobić tak, że:

SELECT Osoby.IDOsoby, Osoby.Nazwisko, Osoby.Imię, itd, Miasta.M_Nazwa, reszta kolumn z Osoby
?

1

Nie ma takiej możliwości, w zapytaniu musisz wypisać wszystkie kolumny które chcesz pobrać, jeżeli nie są to wszystkie kolumny z tabeli.

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