좋아, 나는 문제에 붙어있다.5 개의 테이블을 합치는 것
약 5 개의 데이터베이스 테이블이 있습니다. 하나의 표에는 캠페인 목록이 있고 다른 목록에는 광고 그룹 목록이 있고 다른 목록에는 광고 목록이 있으며 다른 목록에는 클릭 수가 나와 있고 다른 표에는 리드 목록이 있고 다른 표에는 리드 상태 목록이 있습니다. 각 테이블에는 다른 열도 있습니다. 예를 들어 클릭 수에는 ad_id 및 열 계정이 있고 리드 상태 표에는 리드 ID, 구매자 및 금액이 있습니다. 각 테이블은 다른 테이블 ID와 연관된 ID를 가진 열입니다.
그래서 나는 키워드 및 캠페인별로 그룹화 된 모든 성공적인 리드의,campaign keyword count(keyword) sum(amount) buyer
bing-auto rap 15 45 david
google-auto honda 10 30 chris
기본적으로 다음과 같은 형식으로 내 데이터를 얻기 위해 노력하고있어.
그러나이 문제를 해결할 수없는 것 같습니다.
SELECT keyword, COUNT(keyword) FROM in_clicks AS ic
INNER JOIN ads AS a ON ic.ad_id = a.id
INNER JOIN ad_groups AS ag ON a.ad_group_id = ag.id
INNER JOIN campaigns AS c ON ag.campaign_id = c.id;
INNER JOIN lead_status AS ls ON l.id = ls.id
INNER JOIN leads AS l ON ic.in_click_id = l.id
WHERE ic.create_date LIKE '%2011-08-19%' AND ic.location NOT LIKE '%Littleton%'
GROUP BY ic.keyword ORDER BY COUNT(ic.keyword) DESC
나는 이것이 좋은 설명이 아니라는 것을 알고 있으며 위의 쿼리는 좋지 않지만 계속 진행하는 방법에 조금 얽매여 있습니다. 누구든지 올바른 방향으로 나를 가리킬 수 있습니까?
편집 : 다음은 스키마입니다.
CAMPAIGN
id name trafficsource createdate
20 hip hop bing 2001-08-16
21 rap bing 2001-08-18
AD GROUPS
id name campaignid createdate
15 jayz 20 2001-08-16
16 eminem 21 2001-08-18
ADS
id headline adgroupid
13 cool is cool 15
14 wow, great 16
IN CLICKS
id keyword adid createdate
205 his name 13 2001-08-16
206 whoa 14 2001-08-18
LEADS
id in_click_id create_date
300 205 2001-08-16
301 206 2001-08-18
LEAD STATUS
id lead_id success amount buyer
501 300 0 5 jack
502 300 1 15 jill
당신은 당신의 테이블 스키마를 게시 할 수 있습니까? –
%로 시작하는 것은 일반적으로 서버가 색인을 사용하지 못하게하기 때문에 좋지 않습니다. ic.create_date가 데이터 유형이면 예 : 사이에 시작/끝을 정의합니다. –
무엇이 문제입니까? SQL 쿼리는 처음 봐서 유효 해 보입니다. 그래서 무엇이 잘못 되었습니까? 설명에 따르면 누락 된 열을 쉽게 SELECT에 추가 할 수 있습니다. –