Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Łączenie tabel i nadpisywanie bez kasowania CONCAT
Forum PHP.pl > Forum > Bazy danych > MySQL
nikestylex7
Witam. Mam problem chciałbym dopisać wartość do tabeli z innej tabeli

posiadam dwie tabele
pierwsza mytable3 -miejscowosci
id nazwa wojewodztwo powiat

druga mytable2 - powiaty
id Wojewodztwo nazwa

Chciałbym dopisać powiat do kolumny nazwa w mytable3 sprawdzanie po id i wojewodztwie aby było przypasowane
Napisałem zapytanie
  1. UPDATE a
  2. SET a.nazwa = CONCAT(a.nazwa,b.nazwa)
  3. FROM mytable3 a JOIN mytable2 b
  4. ON b.id = a.powiat AND b.Wojewodztwo = a.wojewodztwo
KsaR
  1. UPDATE `mytable3` `a`
  2. SET `a`.`nazwa` = CONCAT(`a`.`nazwa`, `b`.`nazwa`)
  3. JOIN `mytable2` `b`
  4. ON `b`.`id` = `a`.`powiat`, `b`.`Wojewodztwo` = `a`.`wojewodztwo`

O ile pierwsza linijka zadziała(ten alias) to reszta już powinna normalnie,
Przetestuj ;d
nikestylex7
Niestety #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'JOIN `mytable2` `b `
ON
`b`.`id` = `a`.`powiat`,
`b`.`wojewodztwo` = `a`.`woj' at line 3

Próbuje różne możliwości i nic po concat nic nie przechodzi

  1. UPDATE `mytable3`
  2. SET `nazwa` = CONCAT(`nazwa`, `b`.`nazwa`)
  3. FROM
  4. `mytable3` AS `A` INNER JOIN `mytable2` AS `B` ON `a`.`powiat` = `b`.`id`
  5. WHERE
  6. `b`.`wojewodztwo` = `a`.`wojewodztwo`


też nic
KsaR
http://athlan.pl/mysql-update-join/
  1. UPDATE `mytable3` `a`
  2. JOIN `mytable2` `b`
  3. ON `b`.`id` = `a`.`powiat`, `b`.`Wojewodztwo` = `a`.`wojewodztwo`
  4. SET `a`.`nazwa` = CONCAT(`a`.`nazwa`, `b`.`nazwa`)

A tak?
nikestylex7
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.`wojewodztwo`
SET `a`.`nazwa` = CONCAT(`a`.`nazwa`, `b`.`nazwa`)' at line 3

Zaraz przeczytam ten blog
KsaR
Wez jeszcze sprobuj z AND ponownie ;D jak nie dziala to sie poddaje.

Tzn zamiast
ON `b`.`id` = `a`.`powiat`, `b`.`Wojewodztwo` = `a`.`wojewodztwo`
Zrobic
ON `b`.`id` = `a`.`powiat` AND `b`.`Wojewodztwo` = `a`.`wojewodztwo`
nikestylex7
Powiem Ci że poszło lecz nie uzupełniło mi kilku powiatów pewnie że nie ma odpowiedników dla nich muszę to sprawdzić dzięki za pomoc
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.