Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dane pośrednie, jak wyjąć/wykorzystać ponownie?
Forum PHP.pl > Forum > Bazy danych > Microsoft SQL Server / MSDE
Sexbox
Witam

Potrzebuję dwóch grup danych uzyskiwanych z kilku tych samych tabel.
1) CENNIK TOWARÓW złożenie tabel: Cennik: Towary + Ceny + Cechy as f1 +
Cechy as f2
2) WSZYSTKIE CECHY towarów z cenika z 1)

W 1) - CENNIKU wyciągam z tab. Cechy tylko 2 konkretne cechy (Grupę,
Producent)
Natomiast w drugim potrzebuję już same cechy ale WSZYSTKIE tych towaów
uzyskanych
w pierwszym pytaniu.

1) Mój CENNIK to zapytanie:

SELECT
t.ID, t.Nazwa, c.Detal, f1.Value as Grupa, f2.Value as Producent
FROM
Towary as t
JOIN Ceny as c ON t.ID = t.ID
JOIN Cechy as f1 ON t.ID = f1.Towar AND f1.Key = 'Grupa'
LEFT JOIN Cechy as f2 ON t.ID = f2.Towar AND f2.Key = 'Producent'
WHERE f1.Value = 'Drukarki'

2) Moje WSZYSTKIE CECHY dało by zapytanie:

SELECT distinct f3.Key, f3.Value
FROM Cechy as f3
WHERE f3.Towar in (SELECT t.ID FROM [...to co wyżej przy cenniku...])

W sumie te drugie zapytanie mimo mniejszej dla mnie wagi jest bardziej
złożone od pierwszego.

CZY JEST METODA aby dane (towary) uzyskane z pierwszego zapytania
wykorzystać jakoś przy drugim??? BEZ PONOWNEGO ODPYTYWANIA BAZY?

Tab. Cechy ma postać:
Towar|Key|Value
1|Grupa|Drukarki
1|Producent|HP
1|Kolor|Czarny
2|Grupa|Klawiatury
2|Producent|Logitech
3|Ilośc guzików|101

Będę wdzięczny za wszelkie sugestie, baza to MSSQL.
Zbłąkany
Wrzuć kody w BBCode i napisz strukturę każdej tabeli z opisem co dane pole trzyma smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.