SQL-запрос с псевдонимом - PullRequest
0 голосов
/ 31 мая 2010

у меня есть таблица с этими столбцами --- Или

orgid ispaid validity      noofthingstoTake

1      yes    2010-06-05      20
2      yes    2010-06-09       7

Я использовал этот запрос (чтобы объединить еще две таблицы):

select distinct B.RequirementID,A.OrganizationID 
from 
Organization A,RequirementsDetailsforOrganization B,validityorgdet F
where A.OrganizationID=B.OrganizationID and F.orgid=A.OrganizationID and
 F.ispaid=1 and F.validity>=GETDATE() and 

  F.noofthingstoTake> ?? 

но я не знаю, как проверить здесь (noofthingstaken). оно не должно превышать 20. Я передаю этот запрос из моего кода за страницей в Sql. как добиться, чтобы запрос оправдывался, чтобы он не превышал принятого

Пожалуйста, помогите мне .... ????

Ответы [ 2 ]

0 голосов
/ 31 мая 2010

Предположительно noofthingstoTake на самом деле является псевдонимом, а не именем столбца в вашей таблице. Вы не можете использовать псевдонимы столбцов вне предложения select, потому что они на самом деле не существуют до тех пор, пока не будет выполнен запрос. Таким образом, вы не можете сравнивать напрямую с noofthingstoTake, но вместо этого должны ссылаться на фактическое имя поля, из которого пришел этот столбец. Если это выражение, просто используйте все выражение. Обратите внимание, что если это агрегат, вам нужно поместить его в предложение having, а не в предложение where.

(Примечание. Вы действительно должны были опубликовать весь свой запрос)

0 голосов
/ 31 мая 2010

Попробуйте это

select distinct B.RequirementID,A.OrganizationID from 
Organization A,RequirementsDetailsforOrganization B,validityorgdet F
where A.OrganizationID=B.OrganizationID and F.orgid=A.OrganizationID and
 F.ispaid=1 and F.validity>=GETDATE() and   F.noofthingstoTake <= 20
...