Znalezienie wspólnych wartości

Znalezienie wspólnych wartości
GR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0

Witam, nie mogę rozgryźć jak zrobić coś takiego:
Mam taką tabelę:

Kopiuj
CREATE TABLE BLABLA (ID INT, VAR_A INT, VAR_B VARCHAR(10), PRIMARY KEY(ID));

A w niej dane:

ID VAR_A VAR_B
1 10 "KOT"
2 11 "KOT"
3 12 "KOT"
4 14 "KOT"
5 15 "KOT"
6 10 "PIES"
7 11 "PIES"
8 15 "PIES"
9 16 "PAPUGA"
10 11 "GEPARD"

Chcę aby pobrać wszystkie wspólne wartości z kolumny VAR_A dla dwóch lub więcej wybranych wartości z kolumny VAR_B. Np wybieram wartość PIES oraz KOT. I chcę żeby mi zwrócono wartości: 10,11,15.

bogdans
  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
SELECT VAR_B,SUM(VAR_A) FROM Orders GROUP BY VAR_B
GR
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0

coś nie tak, to mi sumuje wartości, ja chcę pobrać listę wspólnych wartości

SP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1164
0
Kopiuj
select VAR_A from BLABLA where VAR_B = "KOT"
intersect
select VAR_A from BLABLA where VAR_B = "PIES"
  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
SELECT VAR_A
FROM BLABLA 
WHERE VAR_B IN ('KOT', 'PIES')
GROUP BY VAR_A
HAVING COUNT(DISTINCT VAR_B) = 2
 
Kopiuj
('KOT', 'PIES')

lista wartości

Kopiuj
HAVING COUNT(DISTINCT VAR_B) = 2

ta 2 to liczba elementów w liście wartości

  • Rejestracja: dni
  • Ostatnio: dni
0

select group_concat(var_a) from pets where var_a in (select var_a from pets where var_b = 'KOT') and var_b = 'PIES' group by var_b

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.