Fr SQL2005, Har 4 tabeller: Din SELECT efter IN innehaller tva (2) kolumner. Den bör bara ha en kolumn. Hej Gert,Query fråga
bo_Competition, bo_Class, bo_Result, bo_Licence.
Från bo_Competition vill jag lista ut alla tävlingar med villkoret bo_ClassRowNbr >0.
Sen en SubQuery med villkoret bo_Result.ResultPlace mindreäm eller lika med bo_Class.ClassRankingNbr.
Har provat med följande men får error:
Msg 156, Level 15, State 1, Line 7
Incorrect syntax near the keyword 'IN'.
SELECT bo_Result.ResultLicNbr, bo_Licence.FirstName, bo_Licence.SurName, bo_Class.ClassName, bo_Result.ResultPlace,
bo_Class.ClassRankingNbr, bo_Class.ClassRankingFemaleMale
FROM bo_Class INNER JOIN
bo_Competition ON bo_Class.ClassId = bo_Competition.Id INNER JOIN
bo_Result ON bo_Class.ClassId = bo_Result.ResultId AND bo_Result.ResultRowNbr = bo_Class.ClassRowNbr INNER JOIN
bo_Licence ON bo_Result.ResultLicNbr = bo_Licence.LicNbr
WHERE bo_Class.ClassRankingNbr >0 IN
(SELECT bo_Class.ClassRankingNbr, bo_Class.ClassName
FROM bo_Class
INNER JOIN bo_Competition ON bo_Class.ClassId = bo_Competition.Id
INNER JOIN bo_Result ON bo_Competition.Id = bo_Result.ResultId
WHERE bo_Result.ResultPlace <= bo_Class.ClassRankingNbr)
ORDER BY bo_Class.ClassName, bo_Result.ResultPlaceSv: Query fråga
/mickeSv: Query fråga
Då ska vi se, det är två saker som behöver ändras;
1. Du har skrivit "bo_Class.ClassRankingNbr > 0 IN".
Om du vill leta efter "bo_Class.ClassRankingNbr" i "IN" så får du ta bort "> 0".
Annars får du lägga till "AND bo_Class.ClassRankingNbr" efter "> 0".
2. I SELECTsatsen (som körs i IN) får du bara hämta ut ett värde.
/Håkan