select z warunkiem dotyczącym wiersza

select z warunkiem dotyczącym wiersza
PO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 211
0

Hej,
Od razu zacznę, że nie bardzo wiem jak nazwać zwięźle mój problem, dlatego też nie mogłem znaleźć rozwiązania w sieci. Chodzi mi o to że
mając np taką tabelę;

Kopiuj
 
Create Table #tmp(
	IssueId int,
	UserId int,
	EventParamId int,
	Value text,
	DockNr int,
	ShortDesc text
)

Chcę wybrać z niej tylko takie wiersze które dla takiego samego IssueId oraz DockNr mają odpowiednio EventParamId równy 100 i przy takim EventParamId - Value wynosi X, zaś dla EventParamId równego 101 - Value dla tego wiersza wynoxi Y. Chodzi mi o znalezienie takich jakby par.
Być może to co chcę zrobić ma jakąś swoją odpowiednią nazwę, niestety nie wiem jaka to nazwa i nie mogę znaleźć w sieci podpowiedzi.

  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
select * from #tmp where issueid=docnr and ((eventparamid=100 and value='x') or (eventparamid=101 and value='y'))
PO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 211
0

Dzięki za szybką odpowiedź;) może niezbyt jasno się wyraziłem, chodziło mi o coś takiego aby znaleźć pary, które dla takiego samego issueid i dla takeigo samego docnr (docnr i issueid są różne) spełniały warunek

Kopiuj
((eventparamid=100 AND VALUE='x') OR (eventparamid=101 AND VALUE='y')) 

upraszczając np dla jednego issueid i docnr było by to:

Kopiuj
 ((eventparamid=100 AND VALUE='x' AND issueid=33 AND docnr=1) OR (eventparamid=101 AND VALUE='y' AND issueid=33 AND docnr=1))

dla przykładu to wynik dla jednego określonego issueid

Kopiuj
 
IssueID	EventParam 	Value	DocNr
136290	100		X	-1
136290	100		X	-2
136290	101		Y	-2
136290	101		Y	-1

Chciałbym wyszukać wszystkie takie pary

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.