많은 슈퍼 세트에 많은 찾기 : File
, Word
및 WordInstance
:나는 세 개의 테이블이 SQL 서버
CREATE TABLE [dbo].[File](
[FileId] [int] IDENTITY(1,1) NOT NULL,
[FileName] [nchar](10) NOT NULL)
CREATE TABLE [dbo].[Word](
[WordId] [int] IDENTITY(1,1) NOT NULL,
[Word] [nchar](10) NOT NULL,
[LatestFileId] [int] NOT NULL)
CREATE TABLE [dbo].[WordInstance](
[WordInstanceId] [int] IDENTITY(1,1) NOT NULL,
[WordId] [int] NOT NULL,
[FileId] [int] NOT NULL)
참고 나는이 간결을 만들기 위해 외부 키를 생략했다. FileId
을 지정하면 FileId
과 같은 단어를 가진 다른 파일이 있는지를 알려주는 true/false 값을 반환하고 싶습니다. 이 시작
, 나는 그대로 작동하지만 제공되지 않습니다 알고
2005 SQL 서버에서 테스트CREATE FUNCTION [dbo].[DoesFileContainLastWord]
(
@fileId INT
)
RETURNS BIT
AS
BEGIN
DECLARE @count INT
DECLARE @ret BIT
SELECT @count = COUNT([tW].[WordId])
FROM [Word] AS tW
INNER JOIN [WordInstance] AS tWI
ON [tW].[WordId] = [tWI].[WordId]
INNER JOIN [File] AS tF
ON [tF].[FileId] = [tW].[LatestFileId]
WHERE [tF].[FileId] = @fileId
IF @count > 0
BEGIN
SET @ret = 0
END
ELSE
SET @ret = 1
RETURN @ret
END;
그래서 무엇을 시도 했습니까? 이것은 당신이 알고있는 코드 작성 서비스가 아닙니다. – HLGEM