Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] JOIN, LEFT, RIGHT, FULL.
cykcykacz
post
Post #1





Grupa: Zarejestrowani
Postów: 550
Pomógł: 9
Dołączył: 29.05.2009
Skąd: Ostrów Wielkopolski

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


Witam nie wiem dlaczego ale jak chcę zrobić FULL JOIN dostaję komunikat:
Kod
#1054 - Unknown column 'articles.i_id' in 'field list'

LEFT
  1. SELECT articles.i_name, articles.i_id, users.id
  2. FROM articles
  3. LEFT JOIN users ON articles.i_id = users.id
  4. ORDER BY articles.i_name;

RIGHT
  1. SELECT articles.i_name, articles.i_id, users.id
  2. FROM articles
  3. RIGHT JOIN users ON articles.i_id = users.id
  4. ORDER BY articles.i_name;

FULL:
  1. SELECT articles.i_id, articles.i_name, users.id
  2. FROM articles
  3. FULL JOIN users ON articles.i_id = users.id
  4. ORDER BY articles.i_name;


I w momęcie kiedy robię FULL JOIN dostaję komunikat który podałem na początku mojego posta.
Dziwne nie?(przynajmniej dla mnie (IMG:style_emoticons/default/smile.gif) )
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Kshyhoo
post
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Exemple:
  1. SELECT a.x, a.y, sum(a.price), sum(b.price)
  2. FROM A a FULL JOIN B b ON a.x = b.x AND a.y = b.y
  3. WHERE ...
  4. GROUP BY a.x, a.y
  5. ORDER BY a.x, a.y
Go to the top of the page
+Quote Post
cykcykacz
post
Post #3





Grupa: Zarejestrowani
Postów: 550
Pomógł: 9
Dołączył: 29.05.2009
Skąd: Ostrów Wielkopolski

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


No dobra tylko dalczego u mnie to nie działa?
Go to the top of the page
+Quote Post
skleps
post
Post #4





Grupa: Zarejestrowani
Postów: 142
Pomógł: 9
Dołączył: 3.03.2011

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


Cytat(cykcykacz @ 20.01.2012, 19:03:09 ) *
No dobra tylko dalczego u mnie to nie działa?


no to jaśniej, sprawdź sobie:

  1. SELECT a.i_name, a.i_id, u.id FROM articles a LEFT JOIN users u ON (a.i_id = u.id) ORDER BY a.i_name;
Go to the top of the page
+Quote Post
cykcykacz
post
Post #5





Grupa: Zarejestrowani
Postów: 550
Pomógł: 9
Dołączył: 29.05.2009
Skąd: Ostrów Wielkopolski

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


Jak zmienię z LEFT na FULL dostaję error:
Kod
#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 'FULL JOIN users u ON (a.i_id = u.id) ORDER BY a.i_name LIMIT 0, 30' at line 1
Go to the top of the page
+Quote Post
mortus
post
Post #6





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Nie ma czegoś takiego jak FULL [OUTER] JOIN w MySQL i trzeba kombinować z LEFT/RIGHT INNER JOIN i UNION ALL (podpowiedź). Do czego w ogóle tego potrzebujesz?
Go to the top of the page
+Quote Post
cykcykacz
post
Post #7





Grupa: Zarejestrowani
Postów: 550
Pomógł: 9
Dołączył: 29.05.2009
Skąd: Ostrów Wielkopolski

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


Staram się nauczyć podstawowych zapytań do baz danych. Korzystam ztego tutorialu http://www.w3schools.com/sql/sql_join_full.asp.

Ale dobra już dalej tłumaczyć nie musicie!
Dzięki wszystkim za pomoc.
Go to the top of the page
+Quote Post

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.08.2025 - 08:32