Mam jedną tabelę w mysql, z które
j muszę wyciągnąć dane w jednym zapytaniu. Niestety nie mogę jej zmodyfikować bo poleciałaby cała struktura serwisu. Problem polega na tym, że z tabeli wyciągnąć dane z dwóch warunków odwołujących się to tej samej kolumny.
Przykładowa tabela.
NrPozycji | NrAktora | Identyfikator | WartoscIdentyfikatora |
---|---|---|---|
1 | 8 | 1 | 120 |
2 | 7 | 2 | 4 |
3 | 5 | 3 | 2 |
4 | 8 | 2 | 2 |
5 | 8 | 3 | 1 |
6 | 7 | 1 | 70 |
7 | 8 | 1 | 40 |
8 | 7 | 2 | 5 |
9 | 5 | 1 | 100 |
z czego
Identyfikatora oznacza
--1 - Czas na scenie
--2 - punkty publiczności
--3 - punkty serwisu
Natomiast kolumna WartośćIdentyfikatora oznacza przypisaną wartość.
np.
dla pozycji 1 oznacza że aktor o nr 8 spędził czas na scenie 120 minut.
Cel. Napisać zapytanie w którym będzie suma czasu spędzona na scenie dla jednego aktora i łączna suma punktów przyznanych przez Serwis
oraz publiczność.
Same zapytania napisałem.
- Suma czasu
SELECT
NrAktora,
sum(`WartoscIdentyfikatora`) AS Czas
FROM
ActorsValue
WHERE
identyfikator = '1'
GROUP BY
NrAktora
- Suma Ocen
SELECT
NrAktora,
count(`WartoscIdentyfikatora`) AS Oceny
FROM
ActorsValue
WHERE
identyfikator IN (2, 3)
GROUP BY
NrAktora
O ile te pytania działają oddzielnie to nie mam bladego pojecia jak zrobić aby odpowiadał jeden Select, ponieważ wartość (WartoscIdentyfikatora)
musi być z czytana z identyfikatora nr 1 a nastepnie 2 i 3 przy czym odczyt z wartości 1 powinien być Sumą a przy odczycie 2,3 Licznikiem
Próbowałem wielu sposobów ale po prostu mi to nie wychodzi. Baa nawet nie wiem czy to jest możliwe w SQL przy tak zaprojektowanej bazie.
Ponieważ już siedzę na tym kilka dni to zwracam się do Was o podpowiedź bo normalnie już ręce opadają, a głowa jest ciekawa jak to zrobić.