Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wypisywanie danych dla użytkownika.
Forum PHP.pl > Forum > Bazy danych > MySQL
coolorzel
Witam.

Nie wiem jak za to się zabrać. Jest jakiś dokładny poradnik z przykładem left join?
Chodzi mi o to, że każdy user ma swoje unikatowe id. Mam drugą tabelę z strukturą:

id, user_id, tekst

ID unikatowe
user_id pobierane przy tworzeniu zapytania z id usera z tabeli users
tekst pokazuje nam zdanie wpisane w mysql.

Jak próbowałem tego dokonać, albo pokazywało wszystkim, albo nikomu.

Kod
Złączenie typu LEFT OUTER JOIN[edytuj | edytuj kod źródłowy]

Złączenie typu LEFT OUTER JOIN pozwala nam na uwzględnienie w wyniku danych, które nie posiadają swoich odpowiedników w złączanych tabelach. Oznacza to, że jeśli w pierwszej tabeli pojawiają się wiersze, które nie posiadają odpowiedników w drugiej tabeli to zostaną wzięte pod uwagę podczas złączenia ale puste kolumny zostaną wypełnione wartościami NULL.
Konstrukcja typu LEFT OUTER JOIN:
SELECT kolumna1, kolumna2, ...,kolumnaN

FROM tabela1 LEFT [OUTER] JOIN tabela2

ON wyrażenie_warunkowe
Słowo OUTER jest tutaj opcjonalne.
(inna wersja Oracle)
SELECT k.nazwa, p.imie, p.nazwisko

FROM klienci k,pracownicy p

WHERE k.prac_kontaktowy = p.id (+);
Wynik przykładu
nazwa    imie    prac_kontaktowy
Acme S.A.    Jan    Nowikowski
Społem S.A.    Piotr    Lis
Józef Miałkowski    Jan    Nowikowski
Statics Sp.z o.o.    Adam    Kot
Zenon Kruk    NULL    NULL


http://pl.wikipedia.org/wiki/Join_(SQL)#Z....LEFT_OUTER_JOIN

Mam nadal problem.
nospor
Skoro pytasz o mysql to czemu zakladasz watek w dziale PHP?? Patrz prosze gdzie piszesz a nie walisz gdzie popadnie.... przenosze.

  1. SELECT * FROM users
  2. LEFT JOIN druga_tabela ON druga_tabela.user_id = users.id
  3. WHERE users.id = ID_USERA_DLA_KTOREGO_WYSWIETLASZ_DANE

mmmmmmm
Nie korzystaj z (+) ani z +=. Są przestarzałe i obsługiwane TYLKO przez wyrocznię. Lepiej LEFT [OUTER] JOIN
coolorzel
Jak wyświetlić dane? moj kod wywala błąd.
nospor
To moze pokaz kod oraz blad? Czemu za kazdym razem kazdemu z osobna trzeba to pisac?

Zanim napiszesz kolejnego posta zapoznaj sie obowiazkowo z tym
Temat: Jak poprawnie zada pytanie
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.