Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] Łączenie dwóch tabel problem
Forum PHP.pl > Forum > Bazy danych > MySQL
atomek_16
Witam,

Tabela1, kolumny:
id, tresc, datadodania

Tabela2, kolumny:
id, tresc, datadodania

I teraz rzecz polega na tym, żeby poprzez zapytanie wyświetlić w jednym rzędzie do LIMIT 0,5 wartości z obydwu tabel, posortowane według daty.
Kwestia taka, że tabela1 ma ponad pół miliona wartości, a druga około 40 tysięcy. Przy próbie wyświetlenia z dwóch naraz zabija się mysql. sad.gif Ja coś źle robię.


Drugi problem to taki, że jak już posortuje się te wartości to żeby w while zamiennie link prowadził
index.php?wyswietl=$a['id'] / tabela 1
index.php?pokaz=$a['id'] / tabela 2

Rozwiązałem problem w ten sposób:

  1. (SELECT Tabela1.id AS a, Tabela1.tresc AS b, Tabela1.datadodania
  2. AS c
  3. FROM Tabela1 ORDER BY Tabela1.id DESC LIMIT 0, 10)
  4.  
  5. UNION ALL
  6.  
  7. (SELECT Tabela2.id AS aa, Tabela2.tresc AS bT, Tabela2.datadodania AS cc
  8. FROM Tabela2 ORDER BY Tabela2.id DESC LIMIT 0, 10)
  9.  
  10. ORDER BY c DESC LIMIT 0, 12");


cały skrypt:
  1. <?php
  2. $dzialaj = mysql_query("(SELECT Tabela1.id AS a, Tabela1.tresc AS b, Tabela1.datadodania
  3. AS c
  4. FROM Tabela1 ORDER by
  5. Tabela1.id DESC LIMIT 0,10)
  6.  
  7. UNION ALL
  8.  
  9. (SELECT Tabela2.id AS aa, Tabela2.tresc AS bT, Tabela2.datadodania AS cc
  10. FROM Tabela2 ORDER by
  11. Tabela2.id DESC LIMIT 0,10)
  12. ORDER by c DESC LIMIT 0,12") or die (__LINE__.mysql_error());
  13.  
  14. while ($q = mysql_fetch_array($dzialaj)) {
  15. echo "";
  16. }
  17. ?>


Aby wykombinować zmianę linków w przypadku jakimś tam niestety musi być polę w obydwu tabelach o takiej samej nazwie z różnymi wartościami. Może ktoś ma pomysł, jak rozróżnić to po nazwie tabeli, a nie po wartościach w nich ?
styx
masz użyte order by id, założyłeś indeks na te pole?
atomek_16
Cytat(styx @ 12.06.2007, 08:12:00 ) *
masz użyte order by id, założyłeś indeks na te pole?


Tak
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.