Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL] Łączenie wyników z 2 tabel
adam882
post
Post #1





Grupa: Zarejestrowani
Postów: 289
Pomógł: 1
Dołączył: 2.11.2007

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


Witam

Posiadam takie dwa zapytania:

1. SELECT kat, ikona, autor, ikona, nazwa, wstep, data FROM artykuly WHERE activ=1 AND glowna=1 ORDER BY data DESC LIMIT 5
2. SELECT kat, ikona, autor, ikona, nazwa, wstep, data FROM historie WHERE activ=1 AND glowna=1 ORDER BY data DESC LIMIT 5

W jaki sposób mogę połączyć te dwa zapytania, aby wyświetliło mi wyniki z 2 tabel, posortowane według daty (w formacie unixowym)? A może da się jakoś posortować zapytanie według kluczy ID ? Czy da się również jakoś wykryć, czy pobrany rekord pochodzi z tabeli artykuły lub historie ?
Go to the top of the page
+Quote Post
Greg0
post
Post #2





Grupa: Zarejestrowani
Postów: 264
Pomógł: 54
Dołączył: 31.08.2007
Skąd: Tychy

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


SELECT kat, ikona, autor, ikona, nazwa, wstep, data FROM artykuly, historie WHERE activ=1 AND glowna=1 ORDER BY data DESC LIMIT 5
Go to the top of the page
+Quote Post
adam882
post
Post #3





Grupa: Zarejestrowani
Postów: 289
Pomógł: 1
Dołączył: 2.11.2007

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


A czy istnieje jakaś możliwość posortowała na podstawwie samegu numeru ID ?

Dodam, że powyższe zapytanie nie działa

Ten post edytował adam882 5.09.2012, 21:16:09
Go to the top of the page
+Quote Post
ŁukaszŁ.
post
Post #4





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 20.08.2012

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


a napisz kolego jakie masz klucze i gdzie jest klucz obcy...

Nie wiem jak masz zaprojektowaną bazę, natomiast tabele łączy się na 2 sposoby, wykonując podzapytania np. select * from tabela where id = (select id from tabela2) lub korzystając z wyrażenia "join" np. select tabela.cos, tabela2.cos from tabela join tabela2 using(id). Klauzulę using stosuje się jeżeli nazwy kluczy są takie same.

Ten post edytował ŁukaszŁ. 5.09.2012, 21:51:09
Go to the top of the page
+Quote Post
mmmmmmm
post
Post #5





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


  1. SELECT *, 'artykuly' AS `nazwa tabeli` FROM (SELECT id, kat, ikona, autor, ikona, nazwa, wstep, DATA FROM artykuly WHERE activ=1 AND glowna=1 ORDER BY DATA DESC LIMIT 5) x
  2. UNION ALL
  3. SELECT *, 'historie' FROM (SELECT id, kat, ikona, autor, ikona, nazwa, wstep, DATA FROM historie WHERE activ=1 AND glowna=1 ORDER BY DATA DESC LIMIT 5) y
  4. ORDER BY id

Nie sprawdzałem, czy zadziała, ale powinno
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: 15.09.2025 - 05:02