• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dodanie klucza obcego do tabeli z 4070 rekordami

Object Storage Arubacloud
+1 głos
331 wizyt
pytanie zadane 1 lutego 2022 w SQL, bazy danych przez KonDZIKs Bywalec (2,770 p.)
Witam.

Posiadam tabelę z 4070 rekordami. Ogólnie tabela jest oparta o Premier League więc są tam głownie dane liczbowe. Lecz posiadam dwie kolumny home_team i away_team z nazwami drużyn. Na potrzeby projektu w power BI musiałem utworzyć w bazie nową tabelę z klubami aby za pomocą danych geograficznych móc umieścić je na mapie w power BI.
Problem polega na tym ,że nie wiem jak teraz dodać klucz obcy z tabeli Kluby do głównej tabeli ze statystykami. Mam taki plan aby dodać IdHome i IdAway i tutaj podawać Id z klucza obcego.
Tylko jak w szybki sposób dodać te dane do głownej tabeli żeby nie przepisywać ręcznie tylu rekordów?

Dziękuję za pomoc
1
komentarz 2 lutego 2022 przez PreZmyK Pasjonat (21,470 p.)

Jeżeli masz nazwy klubów to nie możesz tego połączyć po nazwie?

np.

UPDATE t1 
SET id_fk = 
(SELECT id_pk from t2 WHERE t1.name=t2.name);

 

komentarz 3 lutego 2022 przez KonDZIKs Bywalec (2,770 p.)

Właśnie chciałem iść tą drogą sql'eowa. Z tego co rozumiem. To jak już utworzoną tabele idHome to robie
 

UPDATE MainTable
SET idHome=
(Select  idClubs from Clubs Where MainTable.Home_team=Clubs.Clubs) 

W ten sposób?

1
komentarz 3 lutego 2022 przez PreZmyK Pasjonat (21,470 p.)
Tak. Możesz użyć jeszcze funkcji trim i np. upper. Pamiętaj, zrób też backup.
komentarz 6 lutego 2022 przez KonDZIKs Bywalec (2,770 p.)
Udało się bez tych funkcji.
Mógłbyś pokrótce wytłumaczyć do do czego one służą ewentualnie co by zmieniły przy wykonaniu polecenia
1
komentarz 6 lutego 2022 przez PreZmyK Pasjonat (21,470 p.)
TRIM zignoruje spacje na początku i końcu np jakbyś miał "Klub" i " Klub ", to SQL potraktowałby te wyrażenia jak "Klub" i by połączył. UPPER zmienia litery na wielkie, czyli "Klub" i "klub" by zmienił na "KLUB". W 4k rekordów może się jakaś spacja wkraść, lub np. wyrażenie zaczynające się z małej litery.
komentarz 6 lutego 2022 przez KonDZIKs Bywalec (2,770 p.)
Dziękuję za pomoc i wytłumaczenie :D
komentarz 9 lutego 2022 przez KonDZIKs Bywalec (2,770 p.)

@PreZmyK, 

Odkopię na chwilę temat.
Mam pewien problem. Ogólnie to co chciałem zrobić było mi potrzebne do projektu w power BI. Gdy mamy relację między tabelami możemy w łatwy sposób wykorzystywać te dane.
Mam zrobioną mapkę z lokalizajcą geo ( tabela Clubs) w tabeli głównej mam dodaną kolumnę Sezon aby wyświetlić drużyny grające w danym sezonie na mapie oraz w tabelce obok niej. Problem polega na tym ,że to nie działa. I tutaj mam pytanie czy jeżeli mam dodany klucz obcy ( z tabeli Clubs) do tabeli głównej to czy musze teraz dodac klucz obcy do tabeli Clubs?

komentarz 14 lutego 2022 przez PreZmyK Pasjonat (21,470 p.)
Nie bardzo rozumiem. Co dokładnie nie działa. Jak jest struktura tych tabel?
komentarz 17 lutego 2022 przez KonDZIKs Bywalec (2,770 p.)
Aktualnie czekam na dysk aż wróci z gwarancji bo mam chwilowo ssd 128GB na system a czekam na 512GB. Jak wróci dysk to postaram się to lepiej wytłumaczyć wrzucę zdjęcia o co mi chodzi

1 odpowiedź

0 głosów
odpowiedź 2 lutego 2022 przez SzkolnyAdmin Szeryf (86,980 p.)
Plan masz dobry. Potrzebujesz języka programowania, który potrafi skontaktować się z bazą danych, np. PHP.
komentarz 2 lutego 2022 przez KonDZIKs Bywalec (2,770 p.)
Można coś więcej na ten temat? Rozumiem użycie języka programowania, tylko pytanie na jakiej zasadzie miało by się to odbyć?
komentarz 2 lutego 2022 przez SzkolnyAdmin Szeryf (86,980 p.)
W tabeli dodajesz pola z identyfikatorowi drużyn, to w programie do graficznej obsługi bazy danych albo w konsoli.

Konstruujesz zapytanie, które zwraca ci id drużyny mając jej nazwę oraz zapytanie wstawiające pobrane id do tabeli meczy.

W napisanym programie przejeżdżasz po tabeli meczy updatując ją.

Usuwasz z tabeli meczy niepotrzebne klucze z nazwami drużyn.

Pewnie da się to zrobić w samym SQL-u, ale to już muszą się spece wypowiedzieć (i wiedzieć, jaki serwer obsługuje bazę)..

Podobne pytania

0 głosów
2 odpowiedzi 34,498 wizyt
pytanie zadane 26 sierpnia 2017 w SQL, bazy danych przez Radek Begej Użytkownik (580 p.)
+1 głos
1 odpowiedź 324 wizyt
0 głosów
1 odpowiedź 419 wizyt
pytanie zadane 16 grudnia 2020 w PHP przez Grzegorz Mikina Dyskutant (8,060 p.)

92,684 zapytań

141,589 odpowiedzi

320,073 komentarzy

62,044 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...