Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z łaczeniem tabel
tmk7
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 18.06.2009

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


Witajcie

Mam dwie tabele users1 i domeny. Potrzebuje wprowadzić wartości z pola kat_bazowy z tabeli domeny do tabeli users1. Próbuje na sposób podany niżej:

Insert into users1 (kat_bazowy) SELECT domeny.kat_bazowy FROM users2 INNER JOIN domeny ON users2.domain_id = domeny.id order by users2.user_id;

Dane z wybranego pola są faktycznie dodawane do tabeli users1, ale nie odpowiednio wg klucza tylko na koncu po dotychczasowym ostatnim rekordzie w tabeli users1.
Klucz primary jest w obu tabelach zdefiniowany - users2.domain_id = domeny.id.
W którym miejscu popelniam błąd?

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
tmk7
post
Post #2





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 18.06.2009

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


Nie dopisałem jeszcze, że tabela users2 to kopia users1.

Zgadza się, oba polecenia są poprawne i zwracaja to samo. Problem jest natomiast w kwestii dodawania rekordów odpowiednio względem klucza. INSERT dodaje na koncu a UPDATE daje tylko jeden rekord:

  1. --------------
  2. UPDATE users1 SET kat_bazowy=(SELECT domeny.kat_bazowy FROM users2 INNER JOIN domeny ON users2.domain_id = domeny.id ORDER BY users2.user_id)
  3. --------------
  4.  
  5. ERROR 1242 (21000): Subquery returns more than 1 row


No chyba że przekombinowałem cos w poleceniu
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.12.2025 - 12:13