Посчитай с объединением в sql - PullRequest
0 голосов
/ 05 декабря 2011

Мой запрос:

CREATE PROC [dbo].[GetCount] 
@PID INT,
@IA BIT=null
AS
BEGIN
 SELECT count(*) from [dbo].[Ps] 
 WHERE  P.PID= @PID
 FROM Ps p inner join PMU pm ON p.PSID=pm.PSID 
 AND pm.PID=@PID and pm.IA=@IA 
END

Но я получил синтаксическую ошибку. Пожалуйста, помогите найти мою ошибку. Спасибо.

Ответы [ 3 ]

0 голосов
/ 05 декабря 2011

Ниже приведен формат оператора SELECT для sql:

SELECT <ColumnName1, ColumnName2...>
FROM <TableName1, TableName2...>
WHERE <Conditions...>
ORDER BY <ColumnName1...>

Итак, если я переписываю ваш код, который будет выглядеть следующим образом:

CREATE PROC [dbo].[GetCount] 
@PID INT,
@IA BIT = null
AS
BEGIN
 SELECT COUNT(*)
 FROM Ps p INNER JOIN PMU pm ON p.PSID = pm.PSID 
          AND pm.PID=@PID AND pm.IA=@IA 
  WHERE  P.PID= @PID
END
0 голосов
/ 06 декабря 2011

Попробуйте: [вы также можете попробовать переименовать параметры]

CREATE PROC [dbo]. [GetCount] @PID INT, @IA BIT = null AS BEGIN SELECT count (*) из[dbo]. [Ps] ГДЕ P.PID = @PID ИЗ Ps p внутреннего присоединения PMU pm Где p.PSID = pm.PSID И pm.PID=@PID и pm.IA=@IA END

0 голосов
/ 05 декабря 2011

Попробуйте:

CREATE PROC [dbo].[GetCount] 
@PID INT,
@IA BIT=null
AS
BEGIN
 SELECT count(*) 
 FROM Ps p 
      INNER JOIN PMU pm ON p.PSID=pm.PSID 
                           AND pm.PID=@PID 
                           AND pm.IA=@IA 
 WHERE  P.PID= @PID
END
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...