Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Update - dane z 2 tabel do 1 tabeli
@rtur
post
Post #1





Grupa: Zarejestrowani
Postów: 254
Pomógł: 3
Dołączył: 23.02.2006

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


Mam 3 tabele:
  1. utwory:
  2. utwor_id(int)(autoncrement)
  3. tytul(varchar(256))
  4. data_debiutu(datetime)
  5.  
  6. utwory_audycje:
  7. ua_id(int)(autoncrement)
  8. utwor_id(int)
  9. audycja_id(int)
  10.  
  11. audycje_detale:
  12. audycja_id(int)(autoncrement)
  13. prowadzacy_id(tinyint)
  14. audycja_data(datetime)

Potrzebuje zrobić update dla 6000 rekordów w tabeli utwory, żeby dla każdego utworu zaktualizować pole utwory.data_debiutu, za datę debiutu biorąc datę pierwszej audycji (audycje_detale.audycja_data) w której był grany każdy utwór. Poproszę o ile to możliwe o pomoc w złożeniu zapytania, ewentualnie o wskazówki jak takie zapytanie złożyć.

Ten post edytował @rtur 10.12.2013, 23:43:29


--------------------
Artur
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
mmmmmmm
post
Post #2





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

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


  1. UPDATE utwory JOIN (SELECT utwor_id, Min(audycja_data) min_data FROM audycje_detale ad JOIN audycje_utwory au ON au.audycja_id=ad.audycja_id GROUP BY 1) x ON x.utwor_id=utwory.utwor_id SET utwory.data_debiutu=x.min_date


Ten post edytował mmmmmmm 11.12.2013, 00:17:42
Go to the top of the page
+Quote Post
@rtur
post
Post #3





Grupa: Zarejestrowani
Postów: 254
Pomógł: 3
Dołączył: 23.02.2006

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


dzięki po małych przeróbkach działa smile.gif

to jeszcze podpytam o taki myk

w tabeli utwory mam pola

  1. utwory:
  2. utwor_id(int)(autoincrement)
  3. tytul(varchar(256))
  4. wykonawca_id(int)
  5. data_debiutu(datetime)


dodatkowo są tabele wykonawcy i utwory_audycje:

  1. wykonawcy:
  2. wykonawca_id(int)(autoincrement)
  3. wykonawca(varchar(256))
  4.  
  5. utwory_audycje
  6. ua_id(int)(autoincrement)
  7. utwor_id(int)
  8. audycja_id(int)


W jaki sposób dodać id utworu do utwory_audycje pobierając jego id z tabeli utwory przy where = utwory.tytul=określony_tytuł and wykonawca=okreslony_wykonawca

W tej chwili robię to tak że mam dodane w tabeli utwory pole typu varchar wykonawca w którym trzymam nazwę wykonawcy utworu, ale wolałbym mieć w w tabeli utwory tylko id_wykonawcy i nazwę po id_wykonawcy powiązanego z utworem w tabeli utwory pobierać z tabeli wykonawcy

W tej chwili insert realizuje mi takie zapytanie:
  1. INSERT INTO utwory_audycje (utwor_id,audycja_id) (SELECT utwor_id,'1', FROM utwory WHERE tytul='tytul utworu' AND wykonawca='wykonawca utworu');


Przepraszam że odkopuję temat ale nie potrafię sobie poradzić ze złożeniem zapytania aktualizującego dane z jednej tabeli do drugiej. Siedzę nad tym od paru godzin i nic mi nie wychodzi.

Mam 2 tabele:
  1. playlista:
  2. id(int)(autoincrement)
  3. czas(datetime)
  4. id_utworu(int)
  5. tytul(varchar)

  1. utwory:
  2. utwor_id(int)(autoincrement)
  3. tytul(varchar)

W jaki sposób jednym poleceniem zaktualizować całą tabelę playlista w której mam 3000 różnych tytułów w 15000 rekordów, wypełniając jej pole playlista.id_utworu danymi z tabeli (pola) utwory.utwor_id?
W tabeli utwory jest tytuł utworu, taki sam tytuł znajduje się w tabeli playlista, chodzi o to aby pobrać id utworu z tabeli utwory, na podstawie tytułu z tabeli 'playlista' i wstawić odpowiedni utwor_id odpowiadający tytułowi utworu do tabeli (pola) playlista.id_utworu. Po zaktualizowaniu będę chciał usunąć pole playlista.tytul


--------------------
Artur
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 Aktualny czas: 21.08.2025 - 04:18