Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Porównywanie rekordów - jak to ugryźć, Zaawansowane zapytanie SQL
Morfina
post 3.04.2014, 11:03:07
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 4.09.2013

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


Witam ponownie,
Od kilku dni próbuję rozwiązać następujące zagadnienie:

Dane:


Dane wstępnie obrobione tzn. tak aby łatwiej było wytłumaczyć.


Zadanie:
Znaleźć zakupy (ID definiuje zakup), które są podobne do siebie. Czy też znaleźć pary ID, które mają ze sobą coś wspólnego.
Najprościej jest odnaleźć takie same, czyli w załączonym przykładzie ID 1 = ID 4 nieco trudniej stwierdzić, że np. ID 6 ma sporo wspólnego z ID 7 różnią się tylko o 4 Gruszki lub ID 3 od ID 4 różnią się o jedno jabłko.
Właśnie nad zrealizowaniem części drugiej (po nieco trudniej) główkuję i jak na razie z mizernym rezultatem?
Gdyby któryś z Forumowiczów mógł skierować Mnie na nowe tory myślenia, będę zobowiązany.

Pozdrawiam Morf

Ten post edytował Morfina 3.04.2014, 11:05:54
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Morfina
post 4.04.2014, 11:53:38
Post #2





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 4.09.2013

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


Kolego Pmir13 Wielkie Dzięki. thumbsupsmileyanim.gif
Jak dla mnie Mistrzostwo Świata, na to bym nie wpadł.

  1. SELECT ID,ID2,podobienstwo,Ilosc,podobienstwo*100/Ilosc AS Procent
  2. FROM
  3. (SELECT Tab1.ID AS ID,ID2,podobienstwo, COUNT(Owoc) AS Ilosc
  4. FROM [Testowa_SQL_Nauka].[dbo].[Owoce] AS Tab1 JOIN (SELECT z1.ID AS ID1, z2.ID AS ID2, COUNT(*) AS podobienstwo
  5. FROM [Testowa_SQL_Nauka].[dbo].[Owoce] AS z1 JOIN [Testowa_SQL_Nauka].[dbo].[Owoce] AS z2
  6. ON z1.ID < z2.ID AND z1.Owoc = z2.Owoc AND z1.Ilosc = z2.Ilosc
  7. GROUP BY z1.ID, z2.ID
  8. ) AS Tab2
  9. ON Tab1.ID = Tab2.ID1
  10. GROUP BY Tab1.ID,ID1,ID2,podobienstwo) AS Tab3
  11. ORDER BY Procent DESC,Tab3.ID;


Tak wygląda wersja finalna.
Go to the top of the page
+Quote Post

Posty w temacie


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: 27.04.2024 - 20:59