Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak sie o to zapytac?
czezz
post 27.11.2003, 16:01:59
Post #1





Grupa: Zarejestrowani
Postów: 141
Pomógł: 0
Dołączył: 24.07.2003

Ostrzeżenie: (10%)
X----


Jest tak: mam 4 tabele w jednej bazie. Tabele: main, x, y, z. Main zawiera pole ID, ktoro jest rozdzielone losowo do tabel x, y ,z. ( Tzn. gdyby polaczyc tabele x,y,z to daly by one w sumie tabele main. ).

Potrzebuje zrobic takie zapytanie, ktoro wyswietli mi w porownaniu z tabela main, czesc wspolna dla x, czesc wspolna dla y oraz czesc spolna dla z ( przy czym y nia ma czesci w spolnej w 'x' i 'z' oraz 'z' nie ma czesci wspolnej w 'x' i 'y' oraz x nie ma czesci wspolnej w 'x' i 'y'.

Probowalem zrobic to tak, ale nie zadzialalo:

[sql:1:071766000a]
SELECT count(*)
FROM main, x, y, z
WHERE (main.id = x.id) OR (main.id = y.id) OR (main.id = z.id);
[/sql:1:071766000a]

Jestem amatorem i to co zacytowalem moze zabrzmiec dla wielu z was bezsensu wiec z pokora wyslucham kazdej krytycznej (pouczajacej ) uwagi.
Go to the top of the page
+Quote Post
adwol
post 28.11.2003, 00:35:01
Post #2





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

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


Skoro x, y i z są parami rozłączne i w sumie dają tablicę main to część wspólna x i main to jest x. Analogicznie dla y i z. O co więc Ci chodzi, bo nie rozumiem dokładnie.
Go to the top of the page
+Quote Post
czezz
post 28.11.2003, 09:05:40
Post #3





Grupa: Zarejestrowani
Postów: 141
Pomógł: 0
Dołączył: 24.07.2003

Ostrzeżenie: (10%)
X----


Musze wyswietlic x,y,z ( kazda przyrownana do main) tak zeby x, y, z byly wyswietlone w 3 roznych kolumnach - x, y, z.
Go to the top of the page
+Quote Post
czezz
post 28.11.2003, 11:54:19
Post #4





Grupa: Zarejestrowani
Postów: 141
Pomógł: 0
Dołączył: 24.07.2003

Ostrzeżenie: (10%)
X----


wiec, przeczytalem madra ksiazke i rozwiazalem to tak:


[sql:1:1524688046]
select x.tel1, sum(x.impuls) from main, x where (main.id = x.id ) and main.data = 110703 group by x.tel1
union all
select z.tel1, sum(z.impuls) from main, z where (main.id = z.id ) and main.data = 110703 group by z.tel1
union all
select y.tel1, sum(y.impuls) from main, y where (main.id = y.id ) and main.data = 110703 group by y.tel1;
[/sql:1:1524688046]
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: 19.07.2025 - 07:52