Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> UPDATE z SELECTEM
115750
post
Post #1





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 7.06.2004
Skąd: Poznań

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


Importuję dane z excela do mysql i mam następującą sytuację:

W MySQL mam tabelę osoby, w której znajduje się tabela miasto, będąca kluczem obcym do tabeli słownikowej z miastami.
Zatem mam 2 tabele:
osoby(id, imie, nazwisko, id_miasta)
miasta(id, nazwa)

W excelu mam wszysktko wpisane w jednej tabeli, czyli miasta są wpisane normalnie czyli jako tekst.
Po imporcie takich danych kolumna id_miasta jest oczywiście pusta.

Wymyśliłem zatem, żeby na czas importu danych stworzyc tabelę pośredniczącą
miasta_temp(id_osoby, nazwa_miasta)
do której zaimportowałbym miasta zapisane normalnie przypisując je do konkretnych osób.

Później porównuje te tabele i wyświetlam, jakie dla danej osoby powinno być id_miasta.
  1. SELECT T2.id, T1.* FROM miasta T1, temp_miasto T2
  2. WHERE
  3. T1.miasto = T2.miasto


Nie wiem tylko jak zrobić UPDATE tabeli osoby korzystając z wyniku tego selecta.
Go to the top of the page
+Quote Post
nospor
post
Post #2





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




http://dev.mysql.com/doc/refman/5.0/en/update.html
I masz tam taki przykład:
Cytat
UPDATE items,month SET items.price=month.price
WHERE items.id=month.id;
który na dobrą sprawę jest tym czego szukasz


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
115750
post
Post #3





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 7.06.2004
Skąd: Poznań

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


Dzięki za pomoc.
Stworzyłem takie zapytanie i jest ok
  1. UPDATE osoby T3, miasta T1, temp_miasto T2 SET T3.miasto=T1.id
  2. WHERE T1.miasto = T2.miasto AND T3.id = T2.id
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:11