Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL] Zapytanie SQL z GROUP BY, problem z zapytaniem
-SQL-
post
Post #1





Goście







Mam coś takiego:

  1. SELECT *, SUM(cena * (SELECT kurs FROM waluty WHERE nazwa=waluta)) AS cenakursowa
  2. FROM tabela WHERE nazwa='xx'
  3. GROUP BY id
  4. ORDER BY nazwa
  5. LIMIT 0, 15


To zapytanie przelicza mi po aktualnym kursie waluty cenę danego produktu.

W innej tabeli są przechowywane dodatkowe opcje (np. produkt ma: a,b,c - i chce rozszerzyć wyszukiwanie o produkty które mają np. tylko B) - zrobiłem coś takiego:

  1. SELECT *, SUM(ta.cena * (SELECT kurs FROM waluty WHERE waluty.nazwa=ta.waluta)) AS cenakursowa
  2. FROM tabela AS ta LEFT JOIN opcje AS op ON ta.nazwa='xx' AND ta.id=op.tabela_id AND op.nazwa='b'
  3. GROUP BY ta.id
  4. ORDER BY nazwa
  5. LIMIT 0, 15


Ale niestety zwraca mi również wyniki które nie mają "b".

Z góry dziękuje za pomoc w rozwiązaniu tego problemu.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
-SQL-
post
Post #2





Goście







Daje złe wyniki Twoje zapytanie.

waluty:
id | nazwa | kurs
1 | USD | 2.5

allOpcje:
id | nazwa
1 | mp3
2 | CD
3 | USB

opcje:
id | id_tabela | id_opcje
1 | 1 | 1
2 | 1 | 2
3 | 1 | 3

produkty
id | nazwa | marka | model | ...
1 | TV | Sony | X | ...
2 | radio | Watson | X2 | ...

chce znaleść wszystkie produkty marki sony które mają mp3 i przy okazji obliczyć aktualną cenę dzięki czemu mam możliwość sortowania ceną (co całą resztę komplikuje (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) )
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: 5.10.2025 - 07:39