![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 13.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam, chcę wybrać dane z dwóch tabel, które mają jedną kolumne wspólną, układając je wg danych liczbowych w jednej z tabel.
Pierwsza tabela: Kod Name | Points | other1 Druga tabela: Kod Name | other2 | other3 Próbowałem coś ułożyć, ale wychodzi błąd. Kod SELECT * FROM tabela1 AS a, tabela2 AS b ORDER BY tabela1.points DESC LIMIT 0, 10 ale chyba nawet jakbym coś uzyskał to nie było by to co potrzebuje. Wynik później będzie przetwarzany w pętli i tutaj nie wiem jak operować na takich danych dwóch tabel, to będą tablice: Name = ktoś, points = 150, other1 = value1, other2 = value2, other3 = value3 czy jakoś inaczej? Jeśli inaczej to jak wyświetlać dane - $result[a]['points'] itd? Ten post edytował DiKey 13.11.2011, 21:08:02 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 65 Pomógł: 2 Dołączył: 5.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
wydaje mi sie że musisz miec join na druga tabele, wynik jest jeden wiec nie mozesz sie odwołać w tablicy wynikowej ->[a]
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 295 Pomógł: 7 Dołączył: 26.03.2004 Skąd: Opole Ostrzeżenie: (0%) ![]() ![]() |
Służą do tego instrukcje JOIN. Pole łączące w tym wypadku przynajmniej po jednej stronie powinno być kluczem unikalnym, a napewno indeksem.
select T1.klucz,T1.pole2,T2.pole3 from tabela1 T1 inner join tabela2 T2 on T1.klucz=T2.klucz lub mysql'owo: select T1.klucz,T1.pole2,T2.pole3 from tabela1 T1 inner join tabela2 T2 using(klucz) Zawsze musisz miec wyobrażenie o konsekwencjach sprzeżenia (każdy z każdym itd). -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.06.2025 - 10:04 |