Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> jak optylamie wyciągnąć dane z bazy, DISTINCT niebardzo, może GROUP BY
enigma
post
Post #1





Grupa: Zarejestrowani
Postów: 163
Pomógł: 0
Dołączył: 10.09.2006

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


witam smile.gif
mam taką bazę [oczywiście okrojona]
chciałbym wyciągnąć z obu tabel dane, trzeba zrobić złączenie [dodatkowy warunek można uznać za nieważny tongue.gif]
  1. SELECT * FROM ask_link, ask_url
  2. WHERE ask_link.url_id = ask_url.id AND ask_link.tag_id = '1'

z tego otrzymam np. coś takiego
teraz chciałbym aby z tego, tam gdzie w kolumnie url jest
Cytat
wyciągnąć jeden wiersz, więc myślę zrobić tak, żeby do powyższego zapytania dodać jedną linie z GROUP BY
  1. SELECT * FROM ask_link, ask_url
  2. WHERE ask_link.url_id = ask_url.id AND ask_link.tag_id = '1'
  3. GROUP BY ask_url.id

ale czy taj jest dobrze, no bo z DISTINCT się chyba nie da, bo odrzuca całe identyczne wiersze a ja chce odrzucić tylko tam gdzie się url powtarza, może ktoś z Was widzi jakiś inny sposób ?
Proszę o pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
najtje
post
Post #2





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 4.10.2007

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


Jeśli tabele masz założone w postgresie z oidami możesz je wykorzystać w następujący sposób:

SELECT * FROM (SELECT min(oid)AS my_oid FROM ask_url group by url) AS O JOIN (SELECT * FROM ask_link, ask_url
WHERE ask_link.url_id = ask_url.id AND ask_link.tag_id = '1') AS Q ON O.my_oid=Q.oid;




niestety GROUP BY nic Ci nie pomoże - zresztą napisze że każda kolumna wchodząca w skład select * musi być ujęta w klauzuli GROUP BY co efektywnie sprowadza się do DISTINCT.
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 Aktualny czas: 21.08.2025 - 23:14