Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyciaganie danych z kilku tabel...
coolb
post
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 5.09.2002

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


Witam.
Probuje wyciagnac dane z dwoch tabel o jednakowej strukturze poleceniem:

[php:1:be7c91083d]<?php

$zapytanie ="SELECT tabela1.*, tabela2.* FROM tabela1, tabela2";
$wykonaj = mysql_query($zapytanie) or die(mysql_error());
while($wiersz = mysql_fetch_array($wykonaj))
{
...
}
?>[/php:1:be7c91083d]

w otzrymanych wynikach znajduja sie tylko rekordy z tabeli2, powatarzajace sie kilkanascie razy.
Co jest nie tak?
Dzieki za pomoc

CoolB[/sql][/code]
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
DeyV
post
Post #2





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




W ten sposób mozesz pobierać dane tylko z tabel jakoś z sobą połaczonych, np. przy pomocy JOIN.
Go to the top of the page
+Quote Post
coolb
post
Post #3





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 5.09.2002

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


Cytat
W ten sposób mozesz pobierać dane tylko z tabel jakoś z sobą połaczonych, np. przy pomocy JOIN.


Dziekuje za podpowiedz.
Ale jak mam skonfigurowac zapytanie by polaczyc(odpowiednio) wszystkie pola z obydwu tabel. Zalezy mi na tym, by nie podawac wszystkich nazw pol poniewaz jest bardzo duzo.
Go to the top of the page
+Quote Post
DeyV
post
Post #4





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




Cytat
JOIN
The USING (column_list) clause names a list of columns that must exist in both tables. A USING clause such as:  
A LEFT JOIN B USING (C1,C2,C3,...)

is defined to be semantically identical to an ON expression like this:  
A.C1=B.C1 AND A.C2=B.C2 AND A.C3=B.C3,...
Go to the top of the page
+Quote Post
coolb
post
Post #5





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 5.09.2002

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


Witam ponownie.
Probowalem cos takiego:

[php:1:3fbf6ecb19]

$zapytanie ="SELECT * FROM tabela1 LEFT JOIN tabela2 USING (kol1, kol2, kol3)

[/php:1:3fbf6ecb19]

i nic... tzn
mysql zwraca puste wyniki
Co robie nie tak?
Zalezy mi na polaczeniu dwoch tabel, a nastepnie wyswietleniu posortowanych wszystkich wynikow.
Go to the top of the page
+Quote Post
DeyV
post
Post #6





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




proszę z strukture tabel, i przykładawe dane
Go to the top of the page
+Quote Post
coolb
post
Post #7





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 5.09.2002

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


Obydwie tabele (maj i czerwiec) sa identyczne pod wzgledem struktury. Jest ona nastepujaca:
id int(2) NOT NULL AUTO_INCREMENT, dzien char(2) NOT NULL, miesiac char(15) NOT NULL, miesiacnr char (5), rok char(4) NOT NULL, godz char(5) NOT NULL, tytul char(30) NOT NULL, ... - l

Obydwie tabele zawieraja okolo 30 rekordow.
Zalezy mi na wyswietleniu tylko 4 pol: dzien, miesiac, miesiacnr, tytul i na podstawie ich posrtowanie wynikow.

Pozdrawiam
Go to the top of the page
+Quote Post
uboottd
post
Post #8





Grupa: Zarejestrowani
Postów: 384
Pomógł: 0
Dołączył: 3.04.2003
Skąd: Chorzow

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


DeyV: koncem nosa czuje ze mu raczej chodzi o:
[sql:1:034689ecc7]
select * from tabela1
union
select * from tabela2
[/sql:1:034689ecc7]
Ale nie wiem jestem pewien
Go to the top of the page
+Quote Post
coolb
post
Post #9





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 5.09.2002

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


Witam.
Chodzilo mi dokladnie o to co napisales.
Problem byl rowniez w tym, ze posiadalem stara wersje (3.23) bazy MySQL.
Dzieki za pomoc.
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: 3.10.2025 - 12:44