Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL]Pogrupowanie wyników wyświetlania
sadistic_son
post
Post #1





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Cześć,

Mam 3 tabele:

PRODUCT:
id | name | sku | type | price

PROPERTY:
id | property | type

PRODUCT_PROPERTY:
id | product_id | property_id | value


Tabela PRODUCT_PROPERTY łączy w sobie 2 pozostałe i dodaje value. W skrócie - w tabeli produkt sa produkty (Rambo, Krzyżacy, Stół), natomiast w PROPERTY są wypisane możliwe właściwości (rozmiar w MB dla dvd, ilość stron dla książek, wysokość i szerokośc i długość dla mebli). Tabela łącznikowa łączy dany produkt z daną właściwością i nadaje WARTOŚĆ danej właściwości dla danego produktu. Tak więc w tabeli łącznikowej dla danego dvd (Rambo) i książki (Krzyżacy) występuje po 1 wpisie, bo mają po jednej właściwości (MB, ilość storn). Natomiast dla mebli są to 3 wpisy per mebel (stół), bo mebel ma wysokość, szerokość i długość.
Chcę to ładnie wyświetlić, ale męczę się z pogrupowaniem.

To zapytanie działa, lecz oczywiście wyświetla mi tyle wpsiów ile jest w PRODUCT_PROPERTY, więc 5 (1 dla Rambo, 1 dla Krzyżaków i 3 dla stołu).
  1. SELECT product.sku, product.name, product.price, property.type, property.property, product_property.value FROM product_property INNER JOIN property ON product_property.property_id = property.id INNER JOIN product ON product_property.product_id = product.id


Kombinuję z grupowaniem po wartościach z produktu, np SKU albo NAME, ale bez rezultatów:
  1. SELECT product_property.value FROM product_property INNER JOIN property ON product_property.property_id = property.id INNER JOIN (SELECT product.sku, product.name, product.price, property.type, property.property FROM product, property GROUP BY product.sku) ON product_property.product_id = product.id;


Pomóżcie.
Dzięki

PS. Konstrukcję tej bazy pomógł mi wymyślec nospor w TYM WĄTKU.

Ten post edytował sadistic_son 4.01.2023, 09:33:13
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




W poprzednim temacie pokazalem ci jak to zrobic. Czemu nagle chesz inaczej?
A nawet jesli chcesz zrobic to na bazie, to w linku do ktorego cie odeslalem tez jest pokazane jak sie robi grupowanie na bazie i znowu ignorujesz. Chyba nie widze sensu pisania juz wiecej w twoich tematach, patrzac z grubsza wiekszosc rzeczy ignorujesz.
Go to the top of the page
+Quote Post
sadistic_son
post
Post #3





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


To jest inny temat, inne zapytanie na innej podstronie. To o czym piszesz, gdzie pogrupować sobie dane w tablicy przy pomocy pętli to mam do wyświetlania samych właściwości przy dodawaniu nowego produktu i tam są 2 tabele, bez łącznikowej. I to jest dla mnie zrozumiałem i to skończę. Ale tutaj jest inna sytuacja moim zdaniem bo są 3 tabele to bez JOINa chyba nie da się tego załatwić. Czy nie.... ?

Ten post edytował sadistic_son 4.01.2023, 09:41:25
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Chcesz wyswietlic produkty z wlasciwosciami a wlasciwosci moze byc wiele wiec ci duplikuje produkty.Generalnie to jest to samo co w poprzednim temacie.
Go to the top of the page
+Quote Post
sadistic_son
post
Post #5





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


No dobra. To zabiorę się najpierw za pogrupowanie z poprzedniego postu, to może rozświetli mi i to rozwiązanie.

EDIT: Ogarnąłem z nospora samouczkiem - Przykład 1.
Dzięki nospor (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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: 2.10.2025 - 19:50