SELECT Ad.Id, Newspaper, (select Organization from JobOrganization where JobOrganization.Id = Ad.OrganizationId) as Organization, Ad.PublishDate, Ad.LastDate,Ad.Url, Job.Id as JobId, (select JobTitle from JobTitle where JobTitle.Id = Job.TitleId) as JobTitle1, QualificationId, ExpInYears, CategoryId FROM Ad inner join Job on Ad.Id = Job.AdId Where JobTitle1 Like @title or @title is null Order by case When @sortCol='PublishDate' and @sortDir='ASC' Then Ad.PublishDate End ASC, case When @sortCol='PublishDate' and @sortDir='DESC' Then Ad.PublishDate End DESC, case When @sortCol='LastDate' and @sortDir='ASC' Then Ad.LastDate End ASC, case When @sortCol='LastDate' and @sortDir='DESC' Then Ad.LastDate End DESC
错误:列名’JobTitle1’无效。
我正在使用SQL-2008
恐怕您不能在where子句中使用别名,
SELECT Ad.Id, Newspaper, (select Organization from JobOrganization where JobOrganization.Id = Ad.OrganizationId) as Organization, Ad.PublishDate, Ad.LastDate,Ad.Url, Job.Id as JobId, (select JobTitle from JobTitle where JobTitle.Id = Job.TitleId) as JobTitle1, QualificationId, ExpInYears, CategoryId FROM Ad inner join Job on Ad.Id = Job.AdId Where (select JobTitle from JobTitle where JobTitle.Id = Job.TitleId)Like @title or @title is null Order by case When @sortCol='PublishDate' and @sortDir='ASC' Then Ad.PublishDate End ASC, case When @sortCol='PublishDate' and @sortDir='DESC' Then Ad.PublishDate End DESC, case When @sortCol='LastDate' and @sortDir='ASC' Then Ad.LastDate End ASC, case When @sortCol='LastDate' and @sortDir='DESC' Then Ad.LastDate End DESC
因此,在这种情况下,我使用的是View ..