Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapytanie łączenia tabel mysql. DO NIE AMATORÓW
Forum PHP.pl > Forum > Bazy danych > MySQL
www.aukcje.fm
WItam,

Główkuję nad zapytaniem operacji ma tabelach mysql aby z kilku tabel zgrać dane do jednej tabeli według wspólnych numerów linków.

Zobrazowanie : z Tabeli 1, Tabeli 2, Tabeli 3 i Tabeli 4 pobieramy dane do Tabeli docelowej 5, tak aby dane dla tych samych numerów linków były w jednej tabeli. Zapytanie jedno wprowadzi dane a zapytanie numer 2 powinno dogrywać dane lub nadpisywać.

Tabela 1
Int Varhar
link_id | title
15 Tytuł 1
22 Tytuł 2
438 Tytuł 3

Tabela 2
link_id | description
15 Opis 1
22 Opis 2
438 Opis 3


Tabela 3
link_id | link
15 link1.pl
22 link2.pl
438 link3.pl


Tabela 4
link_id | h1
15 Nagłówek 1
22 Nagłówek 2
438 Nagłówek 3


Tabela docelowa 5
link_id | Title + description + h1 | link
1 Tytuł 1 , Opis 1 , Nagłówek 1 link1.pl
2 Tytuł 2 , Opis 2 , Nagłówek 2 link2.pl
3 Tytuł 3 , Opis 3 , Nagłówek 3 link3.pl


Bardzo proszę o pomoc smile.gif

Całość na cele nowej wyszukiwarki cypryjskiej, jak skończę to dam linka smile.gif
webdice
  1. SELECT * FROM `TABLE1` AS `T1` LEFT JOIN `TABLE2` AS `T2` ON( `T1`.`ID` = `T2`.`ID` ) LEFT JOIN `TABLE3` AS `T3` ON( `T1`.`ID` = `T3`.`ID` ) -- ...
sazian
czy te id są zawsze we wszystkich tabelach ? to znaczy czy np. w tabeli 4 może nie być rekordu z id 15 ?

jeśli id są we wszystkich tabelach to rozwiązanie jest proste, wystarczą zwykłe JOIN'y i concat

  1. SELECT tabela1.id, concat(Title , description , h1_link)
  2.  
  3. FROM tabela1
  4. JOIN tabela2 ON ...
  5. JOIN tabela3 ON ...
  6. JOIN tabela4 ON ...


nie wiem jakie ma być tego zastosowanie ale nie wystarczy widok zamiast tabeli 5 ?
www.aukcje.fm
Ten post pisałem chwila po chwili więc wybacz...

git zapytanie ciastko deliceuszu.. powstaje tabela o którą nam tutaj chodziło...

teraz przy próbie create table nowa as select (to owo zapytanie) jest error duplikacji nazw kolumn tego ID według którego to pytamy.

Da się jakoś to ominąć? :|
webdice
Najpierw się naucz jak poprawnie składać zdania. Bo Twój post mówi mi tyle co rozsypane literki od Scrabble.
www.aukcje.fm
Spoko przyjaciele już mam, trzeba było według wzoru wyników zrobić tabelę a ją potem wypełnić zapytaniem insert dla select

Fajnie jakby można wybierać z tabel kolumny, bo teraz kopiuje całe tabele (łączy je po id_link).
nospor
No to zamiast
SELECT * FROM
musisz określic jakie chcesz kolumny....
SELECT kolumna1, kolumna2,.... FROM
www.aukcje.fm
Oki dzięki to chyba podstawa hehe

Teraz jak daję insert into tabela ten select mam błąd

#1062 - Duplicate entry '31767' for key 'PRIMARY'

Co to może być ?
nospor
To znaczy że kolejny rekord duplikuje ci klucz główny... a jak zapewne wiesz klucz główny musi być unikalny.
www.aukcje.fm
Oki już mam, usunąłem index primary i jest ok.
mmmmmmm
Naprawdę piszesz www.aukcje.fm? Czy tylko reklamujesz? Jeśli piszesz, to dobrze wiedzieć - będę omijał szerokim łukiem, jeśli takie "rozwiązania" stosujesz...
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.