Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sortowanie kilku tabel, odczyt nazwy tabeli
Forum PHP.pl > Forum > Bazy danych > MySQL
wlodziu
Witam,
natknąłem się na pewne myślenie. Otóż chodzi mi o połączenie, jeśli tak to można nazwać kilku tabel i przesortowanie ją po jednej kolumnie od największej do najmniejszej. Potem odczyt rekordu miałby zależeć od tego jaka to tabela, czyli warunek jeśli tabela o nazwie "a" to odczytuje w ten sposób.

Macie jakiś pomysł? Mój to jedynie zapis nazw tabeli, rekordów, to tablic i przesortowanie odpowiednio.

Pozdrawiam.
skowron-line
  1. SELECT a.dane, "a" AS tabela, b.dane, "b" AS tabela
  2. FROM a, b
  3. ORDER BY tabela DESC


w tą stronę idz.
*pisane z palca

http://nospor.pl/mysql-faq.html#faq-5
wlodziu
Chodziło mi o identyfikacje nazwy tabeli po rekordzie.
Czyli np rekord o wartości 13 znajduje się w tabeli x.
mortus
  1. SELECT kolumna1, kolumna2, kolumna3, 'tabela1' AS z_tabeli FROM tabela1
  2. UNION
  3. SELECT kolumna1, kolumna2, kolumna3, 'tabela2' AS z_tabeli FROM tabela2
  4. ...
  5. ORDER BY kolumna3

Wadą tego rozwiązania jest to, że każde zapytanie SELECT musi wybierać jednakową liczbę kolumn, nawet jeśli miałyby to być pseudo-kolumny puste (z wartością NULL). Warto również zorganizować to w taki sposób by kolumny w kolejnych zapytaniach SELECT były logicznie powiązane, tzn. pierwsza niech będzie identyfikatorem, druga nazwą, itd. W tej chwili używamy jednej pseudo-kolumny z_tabeli.
wlodziu
Jednak zrobiłem to swoim sposobem:
Zapisałem najpierw z każdej tabeli do tablicy tą kolumnę która potem posortowałem do drugiej tablicy zapisałem nazwę tabeli i posortowałem wartości i dzięki tym samym indeksom tablic wiedziałem do jakiej tabeli rekord należy i zacząłem dalsze działania.

Dzięki za pomoc, pozdrawiam.
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.