Gah, det står still i huvvet och jag vägrar gå den långa vägen runt.
Behöver slå ihop dessa till en sql-sats om det går:
[red](1) sql = "SELECT [/red]JE_candidate_cv_id[red] FROM JE_candidate_cv_wish_cathegory WHERE JE_cv_cathegory_id = "& [i]intCategoryID[/i]
(2) sql = "SELECT [blue]JE_candidate_profile_id[/blue] FROM JE_candidate_cv WHERE JE_candidate_cv_id = "& [/red]JE_candidate_cv_id[red]
(3) sql = "SELECT COUNT(*) FROM JE_candidate_profile WHERE JE_candidate_profile_id = "& [blue]JE_candidate_profile_id[/blue] &" AND JE_candidate_profile_trr = 1"[/red]
Det som ska hämtas i slutändan är ett tal, antal kandidater, i en sökfunktion. intCategoryID är ett tal som användaren väljer i en drop-meny.
Jag har försökt färga koden här ovan så ni kan se hur relationerna hör samman.
(1) hämtar x antal id-nummer som sedan används i (2) för att hämta kandidaternas id.
(3) sedan räknar samman de kandidater som följt med genom (1) och (2).
select JE_candidate_profile_id , count(*)
FROM JE_candidate_cv cv join JE_candidate_profile cp
on cv.JE_candidate_profile_id = cp.JE_candidate_profile_id
where JE_candidate_profile_trr
and JE_candidate_cv_id in
( select JE_candidate_cv_id
FROM JE_candidate_cv_wish_cathegory
WHERE JE_cv_cathegory_id = <intCategoryID> )
group by JE_candidate_profile_id
select JE_candidate_profile_id , count(*)
FROM JE_candidate_cv cv join JE_candidate_profile cp
on cv.JE_candidate_profile_id = cp.JE_candidate_profile_id
where JE_candidate_profile_trr [b] = 1 [/b]
and JE_candidate_cv_id in
( select JE_candidate_cv_id
FROM JE_candidate_cv_wish_cathegory
WHERE JE_cv_cathegory_id = <intCategoryID> )
group by JE_candidate_profile_id
select cv.JE_candidate_profile_id , count(*)
FROM JE_candidate_cv cv join JE_candidate_profile cp
on cv.JE_candidate_profile_id = cp.JE_candidate_profile_id
where JE_candidate_profile_trr = 1
and JE_candidate_cv_id in
( select JE_candidate_cv_id
FROM JE_candidate_cv_wish_cathegory
WHERE JE_cv_cathegory_id = <intCategoryID> )
group by cv.JE_candidate_profile_id
Eftersom kolumnen finns med i båda tabellerna så måste man kvalificera namnet.
[red]SELECT cp.JE_Candidate_profile_id, COUNT(*) AS intCnt
FROM JE_candidate_cv cv INNER JOIN
JE_Candidate_profile cp ON cv.JE_candidate_cv_candidate_profile_id = cp.JE_Candidate_profile_id
WHERE (cp.JE_Candidate_profile_trr = 1) AND (cv.JE_candidate_cv_id IN
(SELECT JE_candidate_cv_id
FROM JE_candidate_cv_wish_cathegory
WHERE JE_cv_cathegory_id = <intCategoryID>))
GROUP BY cp.JE_Candidate_profile_id[/red]
Den returnerar två poster istället för count-värdet, som i detta fall blev 2, jag vill med hjälp av intCnt skriva ut antalet.
Går detta eller måste jag loopa igenom recordsettet för att få ut, 2 i detta fall, mitt count-värde?
Den returnerar två poster istället för count-värdet, som i detta fall blev 2, jag vill med hjälp av intCnt skriva ut antalet.
Jag förstår inte vad du menar med detta, i synnerhet
som i detta fall blev 2
Jag trodde att du vill ha alla candidater som tillhör en viss kategori och för varje kandidat vill du ha antalet förekomster för denne kandidat i tabellen JE_Candidate_profile.
Frågan returnerar en post med två kolumner för varje kandidat.
Jag försöker skapa en sökfunktion där rekryteringsföretag (RF) söker i den befintliga databasen efter lämpliga kandidater baserat på Yrkeskategori, Område och Stad. Just denna sql-sats som diskuterats här ovan gäller för yrkeskategori och detta val gör (RF) i en dropmeny.
Databasen består av en mängd tabeller, i detta fall används följande tabeller:
JE_candidate_cv_wish_cathegory
Här finns de olika kategorierna (JE_candidate_cv_wish_cathegory), som kandidaten valt samt kandidatens unika cv-id. (JE_candidate_cv_id)
JE_candidate_cv
Här finns kandidatens unika cv-id (JE_candidate_cv_id) samt kandidatens unika profil-id. (JE_candidate_profile_id)
JE_candidate_profile
Här finns kandidatens unika profil-id (JE_candidate_profile_id) samt om kandidaten tillhör en viss kategori eller inte. (JE_candidate_profile_trr)
Det jag vill göra är alltså att kolla hur många kandidater det finns i databasen som stämmer överens med sökkriterian och sedan lista antalet, ex. 12 st.