Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Zapytanie filtrujące wyniki wg kryterium, zapytanie porównujące dane z trzech tabel i wyświetlające podobne
aisha
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 14.02.2017

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


Dzień dobry, potrzebuje by ktoś nakierował mnie na rozwiązanie mojego problemu a mianowicie w bazie mam dane, które wyglądają tak

http://ifotos.pl/zobacz/tabelates_qnwaqaa.jpg i są wyświetlane zapytaniem
  1. SELECT o.nazwa_obiektu, o.id_obiektu,a.id_atrybutu, a.nazwa_atrybutu, a.nr_kolumny, t.wartosc FROM testwar t
  2. JOIN atrybut a ON t.atrybut_id_atrybutu = a.id_atrybutu
  3. JOIN obiekt o ON t.obiekt_id_obiektu = o.id_obiektu
  4. WHERE a.tabela_id_tabeli = 989 AND o.tabela_id_tabeli = 989

teraz muszę znaleźć wszystkie podobne do siebie obiekty ze względu na wartości dla atrybutów. Zapytaniem
  1. SELECT o.nazwa_obiektu, o.id_obiektu,a.id_atrybutu, a.nazwa_atrybutu, a.nr_kolumny, t.wartosc FROM testwar t
  2. JOIN atrybut a ON t.atrybut_id_atrybutu = a.id_atrybutu
  3. JOIN obiekt o ON t.obiekt_id_obiektu = o.id_obiektu
  4. WHERE a.tabela_id_tabeli = 989 AND o.tabela_id_tabeli = 989 AND nr_kolumny = 1
  5. GROUP BY o.nazwa_obiektu, t.wartosc
  6. ORDER BY t.wartosc

udało mi się osiągnąć taki efekt http://ifotos.pl/zobacz/dlajedneg_qnwaqqr.jpg

jeśli chodzi o pole nr_kolumny to jego wartość odpowiada nazwie atrybutu tj. nr_kolumny = 1 to Bol_glowy, nr_kolumny = 2 to Bol_miesni itd.
teraz potrzebowałabym sprawdzić, które obiekty mają takie same wartości dla atrybutów Bol_glowy i Bol_miesni wynik jaki powinnam uzyskać to:

1 NIE TAK
4 NIE TAK
6 NIE TAK
2 TAK NIE
5 TAK NIE
3 TAK TAK

W sumie będę musiała sprawdzić to samo dla nazwa_atrybutu:
Bol_glowy
Bol_miesni
Temperatura
Bol_glowy , Bol_miesni
Bol_miesni , Temperatura
Bol_Glowy , Temperatura
Bol_glowy, Bol_miesni, Temperatura
Bol_glowy, Temperatura, Grypa
Bol_glowy, Bol_miesni, Temperatura, Grypa

Czy mógłby ktoś podsunąć mi jakiś pomysł jak to zrobić, jakieś przydatne linki, cokolwiek?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
emillo91
post
Post #2





Grupa: Zarejestrowani
Postów: 129
Pomógł: 13
Dołączył: 29.03.2012

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


A To musi być koniecznie w MySQL? Można to w prosty sposób zrobić w PHP ale nie wiem czy może być uwzględnione
Go to the top of the page
+Quote Post
aisha
post
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 14.02.2017

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


Cytat(emillo91 @ 9.04.2018, 16:52:50 ) *
A To musi być koniecznie w MySQL? Można to w prosty sposób zrobić w PHP ale nie wiem czy może być uwzględnione




Nie, bez problemu może być PHP

w php udało mi się zrobić przy użyciu tablic to co chciałam ale tylko dla każdego pojedynczego atrybutu czyli dla

Bol_glowy
Bol_miesni
Temperatura

a dla

Bol_glowy , Bol_miesni
Bol_miesni , Temperatura
Bol_Glowy , Temperatura
Bol_glowy, Bol_miesni, Temperatura
Bol_glowy, Temperatura, Grypa
Bol_glowy, Bol_miesni, Temperatura, Grypa

niestety już nie potrafię / nie mam pomysłu

Go to the top of the page
+Quote Post

Posty w temacie


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 - 07:34