![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 1 045 Pomógł: 5 Dołączył: 8.11.2004 Skąd: trójmiasto Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam zapytanie SELECT ... LEFT JOIN jako że z jedym wierszem głównej tabeli jest powiązanych kilka wierszy podrzędnej tabeli łączonej za pomocą LEFT JOIN, w wyniku dostaje kika wierszy z głównej tabeli, czy da się zrobić coś w rodzaju DISTINCT dla LEFT JOIN |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
Nie szybciej by było to sprawdzić samemu?
-------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 045 Pomógł: 5 Dołączył: 8.11.2004 Skąd: trójmiasto Ostrzeżenie: (0%) ![]() ![]() |
Ale co sprawdzić?
Ja sie pytam jak zrobić coś takiego, poza tym nie pozwala mi zrobić zwykłego DISTINCT po kolumnie pochodzącej z LEFT JOINa Ten post edytował php programmer 9.01.2008, 11:23:44 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 382 Pomógł: 0 Dołączył: 29.11.2005 Skąd: :jestem(); Ostrzeżenie: (0%) ![]() ![]() |
Ale jak chcesz to połączyć ? Tabele bazową z piewszym wierszem który pasuje do warunku ON z tabeli dołączanej ?
Jeśli robisz jakiegoś COUNT'a to połączy bez dubli. -------------------- Powyższy post wyraża jedynie opinię autora w dniu dzisiejszym. Nie może on służyć przeciwko niemu w dniu jutrzejszym. Ponadto autor zastrzega sobie prawo zmiany poglądów, bez podawania przyczyny.
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 1 045 Pomógł: 5 Dołączył: 8.11.2004 Skąd: trójmiasto Ostrzeżenie: (0%) ![]() ![]() |
dobra, rozwiązałem to już po swojemu,
problem jest na tyle nietypowy, że nie chce mi sie już was zamęczać, PS. Count do left joina? Ten post edytował php programmer 9.01.2008, 11:56:34 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 313 Pomógł: 5 Dołączył: 22.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
Mam dokładnie takie sam problem proszę o pomoc kogoś kto zna się na mysql
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 8.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
Mam dokładnie ten sam problem
Potrzebuję konstrukcji która zachowa się tak jakbym zrobił 'DISTINCT LEFT/RIGHT JOIN'. Postaram się to zobrazować. Mam tabele: sms (id, id_zadanie, data) zadanie(id) Czasem jest wysyłanych kilka smsów do jednego zadania. Dlatego NIE jest dla mnie istotne który wiersz id_zadanie będzie połączony z tabelą sms (bo każdy połączny wiersz z tabeli zadanie jest taki sam dla wiersza z tabeli sms) Ważne, żeby był jeden! (a inner/left/right/natural join zwróci wszystkie pasujące z tabeli zadanie). Jest to sytuacja typowa dla konstrukcji 'DISTINCT ON'. Nie mogę użyć DISTINCT ON, bo klauzula ORDER BY musi być inicjowana kolumną wymienioną w DISTINCT ON . A chcę sortować np. po dacie. PS.Proszę o konkretne odpowiedzi. Problem rozwiązany. Dla zainteresowanych.: Nie ma de facto konstrukcji w rodzaju distinct join. Ale da się to obejść robiąc zapytanie z inner join oraz funkcją okienkową rank(). |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 4 Dołączył: 21.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
Nie możesz zrobić po prosty podzapytania
SELECT DISTINCT sms_id,zadanie_id FROM ( .... tutaj wtoje zapytanie z left joinem ) ![]() -------------------- ==============================================
Bo ja jestem Wróbelek Htmlek ============================================== |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 16.06.2025 - 21:11 |