Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL]Zapytanie, Pobranie rekordów z jednej tabeli względem drugiej
Lirdoner
post 2.03.2011, 17:55:32
Post #1





Grupa: Zarejestrowani
Postów: 500
Pomógł: 1
Dołączył: 29.09.2009

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


Witam, mam dwie tabele
1. users
id | login
1 |Lirdoner

2. news
id | autor_id
1 | 1

I chciałbym pobrać takie rekordy, żeby pobrało * z news ale autor_id zamieniło na login z tabeli users z konkretnym id (ustalonym przez autor_id)
Da się to zrobić w jednym zapytaniu?
Go to the top of the page
+Quote Post
Spawnm
post 2.03.2011, 17:57:21
Post #2





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Użyj join . Ale nie zamieniło tylko dodatkowo pobrało z tabeli users.
Go to the top of the page
+Quote Post
Lirdoner
post 2.03.2011, 18:15:17
Post #3





Grupa: Zarejestrowani
Postów: 500
Pomógł: 1
Dołączył: 29.09.2009

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


Czy to zapytanie jest dobre?

SELECT p . * , q.login, q.id
FROM news p
INNER JOIN users q
WHERE p.autor_id = q.id

Nie jestem pewien czy to właśnie pobiera login usera którego id jest równe autor_id
Go to the top of the page
+Quote Post
Spawnm
post 2.03.2011, 18:18:54
Post #4





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Po co inner? I po co ci q.id skoro pobierasz autor_id ? smile.gif
Go to the top of the page
+Quote Post
Lirdoner
post 2.03.2011, 18:24:13
Post #5





Grupa: Zarejestrowani
Postów: 500
Pomógł: 1
Dołączył: 29.09.2009

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


A no w sumie tak to q.id nie jest potrzebne potrzebne
Czyli teraz poniższe zapytanie jest dobrze tak?

SELECT p . * , q.login
FROM news p
JOIN users q
WHERE p.autor_id = q.id
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 20.07.2025 - 02:01