2012-09-27 2 views
3

프로그래머가 아니지만 data.stackexchange.com을 사용합니다. 공용 SE 데이터 탐색기를 쿼리하고있어 지정한 열 이름이 유효하지 않습니다. 또한 Count (Posts) 및 Count (Votes)를 어떻게 지정합니까? 이 코드를 수정하는 데 도움이되는 db 스키마를 알고 data.se를 쿼리 한 사람이 있습니까?SQL 쿼리 - 잘못된 열 이름 및 매개 변수 - 데이터

Select Count (u.Id) 
From Users u 
Left Join Posts p on u.Id = p.OwnerUserId 
Left join SuggestedEdits e on u.Id = e.OwnerUserId 
left join Votes v on u.Id = v.UserId 
WHERE ((u.CreationDate BETWEEN 'qwerty' AND 'qwerty') 
AND (p.CreationDate BETWEEN 'qwerty' AND 'qwerty') 
AND (p.ClosedDate is null) 
OR (e.CreationDate BETWEEN 'qwerty' AND 'qwerty')) 
AND Count (Posts) = x 
OR Count (Votes) = y 
Group by u.CreationDate, p.OwnerUserId, UserTypeId, u.DisplayName, p.CreationDate 
+0

@ Miguel-F 팁 주셔서 감사합니다. 사이드 바를 확인하고 거기에 대한 스키마 정보를 사용했지만, 여전히 작동시키지 못했습니다. –

+0

당신에게 효과가없는 것은 무엇입니까? Select 문은 어디에 있습니까? –

+0

내 select 문도 작동하지 않습니다. 이 기준을 충족하는 모든 사용자 ID를 계산하고 싶습니다. 미안, 멍청 아. –

답변

2

당신이 작성 쿼리 옵션 found here을 시도했다. 해당 링크를 클릭하면 사이드 바의 오른쪽에 데이터베이스 스키마가 표시됩니다.

사이드 바를 숨길 수 있습니다. 링크를 클릭하면 다시 표시됩니다. 그게 네가 필요한거야?

편집

나는 아직도 당신이 정확하게 뭘 하려는지 정말 모르겠습니다. 내가 자신의 입장에 있다면 먼저 각 개별 테이블에 대한 간단한 쿼리를 실행하여 시작할 것입니다. 이렇게하면 어떤 데이터가 저장되어 있는지 확인할 수 있습니다.

실행이 쿼리 및 확인 결과 :

SELECT * 
FROM Users 
WHERE CreationDate BETWEEN '2012-06-01 08:00:00' AND '2012-06-02 09:00:00' 

실행이 쿼리 및 확인 결과 :

SELECT * 
FROM Posts 
WHERE CreationDate BETWEEN '2012-06-01 08:00:00' AND '2012-06-02 08:10:00' 

실행이 쿼리 및 확인 결과 :

SELECT * 
FROM Votes 
WHERE CreationDate BETWEEN '2012-06-01 08:00:00' AND '2012-06-02 08:10:00' 

SuggestedEdits 테이블을 참여자에게 포함시킨 이유가 확실하지 않습니다. 다른 곳에서는 t 테이블. 그래서 그것을 버려라.

이제 데이터가 어떤 모양인지 알게되면 함께 모아서 내가 무엇을 찾았는지 알 수 있습니다. 나는 아직도 몰라? 다행히도 이런 일이 시작되면 도움이 될 것입니다. 이 쿼리는 몇 가지 결과를 반환하지만 이후의 결과는 확실하지 않습니다.

SELECT Count(u.Id), Count(p.Id), Count(v.Id) 
FROM Users u 
LEFT JOIN Posts p on u.Id = p.OwnerUserId 
LEFT JOIN Votes v on u.Id = v.UserId 
WHERE u.CreationDate BETWEEN '2012-06-01 08:00:00' AND '2012-06-02 09:00:00' 
GROUP BY u.CreationDate, p.OwnerUserId, v.VoteTypeId, u.DisplayName, p.CreationDate