Pozdrav svima.
Dobio sam da rešim zadatak ali sam zaglavio sa problemom i neuspevam doći do rešenja. U pitanju je neka simulacija nagradne igre. Korisnik bira 6 cifara u rasponu od 1-50. Izvlačenje se sastoji od 20 brojeva iz tog raspona.
Kako da uporedim 6 cifara sa kupona sa 20 cifara izvlačenja?
Recimo da je situacija sa tabelama ovakva:
Kako da dođem do rešenja da za svaki odigrani kupon dobijem broj pogodataka?
Dobio sam da rešim zadatak ali sam zaglavio sa problemom i neuspevam doći do rešenja. U pitanju je neka simulacija nagradne igre. Korisnik bira 6 cifara u rasponu od 1-50. Izvlačenje se sastoji od 20 brojeva iz tog raspona.
Kako da uporedim 6 cifara sa kupona sa 20 cifara izvlačenja?
Recimo da je situacija sa tabelama ovakva:
Code (sql):
USE [master]
GO
/****** Object: Database [zadatak] Script Date: 12/18/2011 22:13:14 ******/
CREATE DATABASE [zadatak] ON PRIMARY
( NAME = N'zadatak', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\zadatak.mdf' , SIZE = 3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
LOG ON
( NAME = N'zadatak_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\zadatak_log.ldf' , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO
ALTER DATABASE [zadatak] SET COMPATIBILITY_LEVEL = 100
GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
BEGIN
EXEC [zadatak].[dbo].[sp_fulltext_database] @action = 'enable'
END
GO
ALTER DATABASE [zadatak] SET ANSI_NULL_DEFAULT OFF
GO
ALTER DATABASE [zadatak] SET ANSI_NULLS OFF
GO
ALTER DATABASE [zadatak] SET ANSI_PADDING OFF
GO
ALTER DATABASE [zadatak] SET ANSI_WARNINGS OFF
GO
ALTER DATABASE [zadatak] SET ARITHABORT OFF
GO
ALTER DATABASE [zadatak] SET AUTO_CLOSE OFF
GO
ALTER DATABASE [zadatak] SET AUTO_CREATE_STATISTICS ON
GO
ALTER DATABASE [zadatak] SET AUTO_SHRINK OFF
GO
ALTER DATABASE [zadatak] SET AUTO_UPDATE_STATISTICS ON
GO
ALTER DATABASE [zadatak] SET CURSOR_CLOSE_ON_COMMIT OFF
GO
ALTER DATABASE [zadatak] SET CURSOR_DEFAULT GLOBAL
GO
ALTER DATABASE [zadatak] SET CONCAT_NULL_YIELDS_NULL OFF
GO
ALTER DATABASE [zadatak] SET NUMERIC_ROUNDABORT OFF
GO
ALTER DATABASE [zadatak] SET QUOTED_IDENTIFIER OFF
GO
ALTER DATABASE [zadatak] SET RECURSIVE_TRIGGERS OFF
GO
ALTER DATABASE [zadatak] SET DISABLE_BROKER
GO
ALTER DATABASE [zadatak] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
GO
ALTER DATABASE [zadatak] SET DATE_CORRELATION_OPTIMIZATION OFF
GO
ALTER DATABASE [zadatak] SET TRUSTWORTHY OFF
GO
ALTER DATABASE [zadatak] SET ALLOW_SNAPSHOT_ISOLATION OFF
GO
ALTER DATABASE [zadatak] SET PARAMETERIZATION SIMPLE
GO
ALTER DATABASE [zadatak] SET READ_COMMITTED_SNAPSHOT OFF
GO
ALTER DATABASE [zadatak] SET HONOR_BROKER_PRIORITY OFF
GO
ALTER DATABASE [zadatak] SET READ_WRITE
GO
ALTER DATABASE [zadatak] SET RECOVERY FULL
GO
ALTER DATABASE [zadatak] SET MULTI_USER
GO
ALTER DATABASE [zadatak] SET PAGE_VERIFY CHECKSUM
GO
ALTER DATABASE [zadatak] SET DB_CHAINING OFF
GO
EXEC sys.sp_db_vardecimal_storage_format N'zadatak', N'ON'
GO
USE [zadatak]
GO
/****** Object: Table [dbo].[izvlacenje] Script Date: 12/18/2011 22:13:15 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[izvlacenje](
[izvlacenje_id] [INT] NOT NULL,
[vreme] [datetime] NULL,
[broj1] [INT] NULL,
[broj2] [INT] NULL,
[broj3] [INT] NULL,
[broj4] [INT] NULL,
[broj5] [INT] NULL,
[broj6] [INT] NULL,
[broj7] [INT] NULL,
[broj8] [INT] NULL,
[broj9] [INT] NULL,
[broj10] [INT] NULL,
[broj11] [INT] NULL,
[broj12] [INT] NULL,
[broj13] [INT] NULL,
[broj14] [INT] NULL,
[broj15] [INT] NULL,
[broj16] [INT] NULL,
[broj17] [INT] NULL,
[broj18] [INT] NULL,
[broj19] [INT] NULL,
[broj20] [INT] NULL,
CONSTRAINT [PK_izvlacenje] PRIMARY KEY CLUSTERED
(
[izvlacenje_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[kupon] Script Date: 12/18/2011 22:13:15 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[kupon](
[kupon_id] [INT] NOT NULL,
[izvlacenje_id] [INT] NULL,
[vreme] [datetime] NULL,
[broj1] [INT] NULL,
[broj2] [INT] NULL,
[broj3] [INT] NULL,
[broj4] [INT] NULL,
[broj5] [INT] NULL,
[broj6] [INT] NULL,
CONSTRAINT [PK_kupon] PRIMARY KEY CLUSTERED
(
[kupon_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: ForeignKey [FK_kupon_izvlacenje] Script Date: 12/18/2011 22:13:15 ******/
ALTER TABLE [dbo].[kupon] WITH CHECK ADD CONSTRAINT [FK_kupon_izvlacenje] FOREIGN KEY([izvlacenje_id])
REFERENCES [dbo].[izvlacenje] ([izvlacenje_id])
GO
ALTER TABLE [dbo].[kupon] CHECK CONSTRAINT [FK_kupon_izvlacenje]
GO
USE [master]
GO
/****** Object: Database [zadatak] Script Date: 12/18/2011 22:13:14 ******/
CREATE DATABASE [zadatak] ON PRIMARY
( NAME = N'zadatak', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\zadatak.mdf' , SIZE = 3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
LOG ON
( NAME = N'zadatak_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\zadatak_log.ldf' , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO
ALTER DATABASE [zadatak] SET COMPATIBILITY_LEVEL = 100
GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
BEGIN
EXEC [zadatak].[dbo].[sp_fulltext_database] @action = 'enable'
END
GO
ALTER DATABASE [zadatak] SET ANSI_NULL_DEFAULT OFF
GO
ALTER DATABASE [zadatak] SET ANSI_NULLS OFF
GO
ALTER DATABASE [zadatak] SET ANSI_PADDING OFF
GO
ALTER DATABASE [zadatak] SET ANSI_WARNINGS OFF
GO
ALTER DATABASE [zadatak] SET ARITHABORT OFF
GO
ALTER DATABASE [zadatak] SET AUTO_CLOSE OFF
GO
ALTER DATABASE [zadatak] SET AUTO_CREATE_STATISTICS ON
GO
ALTER DATABASE [zadatak] SET AUTO_SHRINK OFF
GO
ALTER DATABASE [zadatak] SET AUTO_UPDATE_STATISTICS ON
GO
ALTER DATABASE [zadatak] SET CURSOR_CLOSE_ON_COMMIT OFF
GO
ALTER DATABASE [zadatak] SET CURSOR_DEFAULT GLOBAL
GO
ALTER DATABASE [zadatak] SET CONCAT_NULL_YIELDS_NULL OFF
GO
ALTER DATABASE [zadatak] SET NUMERIC_ROUNDABORT OFF
GO
ALTER DATABASE [zadatak] SET QUOTED_IDENTIFIER OFF
GO
ALTER DATABASE [zadatak] SET RECURSIVE_TRIGGERS OFF
GO
ALTER DATABASE [zadatak] SET DISABLE_BROKER
GO
ALTER DATABASE [zadatak] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
GO
ALTER DATABASE [zadatak] SET DATE_CORRELATION_OPTIMIZATION OFF
GO
ALTER DATABASE [zadatak] SET TRUSTWORTHY OFF
GO
ALTER DATABASE [zadatak] SET ALLOW_SNAPSHOT_ISOLATION OFF
GO
ALTER DATABASE [zadatak] SET PARAMETERIZATION SIMPLE
GO
ALTER DATABASE [zadatak] SET READ_COMMITTED_SNAPSHOT OFF
GO
ALTER DATABASE [zadatak] SET HONOR_BROKER_PRIORITY OFF
GO
ALTER DATABASE [zadatak] SET READ_WRITE
GO
ALTER DATABASE [zadatak] SET RECOVERY FULL
GO
ALTER DATABASE [zadatak] SET MULTI_USER
GO
ALTER DATABASE [zadatak] SET PAGE_VERIFY CHECKSUM
GO
ALTER DATABASE [zadatak] SET DB_CHAINING OFF
GO
EXEC sys.sp_db_vardecimal_storage_format N'zadatak', N'ON'
GO
USE [zadatak]
GO
/****** Object: Table [dbo].[izvlacenje] Script Date: 12/18/2011 22:13:15 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[izvlacenje](
[izvlacenje_id] [INT] NOT NULL,
[vreme] [datetime] NULL,
[broj1] [INT] NULL,
[broj2] [INT] NULL,
[broj3] [INT] NULL,
[broj4] [INT] NULL,
[broj5] [INT] NULL,
[broj6] [INT] NULL,
[broj7] [INT] NULL,
[broj8] [INT] NULL,
[broj9] [INT] NULL,
[broj10] [INT] NULL,
[broj11] [INT] NULL,
[broj12] [INT] NULL,
[broj13] [INT] NULL,
[broj14] [INT] NULL,
[broj15] [INT] NULL,
[broj16] [INT] NULL,
[broj17] [INT] NULL,
[broj18] [INT] NULL,
[broj19] [INT] NULL,
[broj20] [INT] NULL,
CONSTRAINT [PK_izvlacenje] PRIMARY KEY CLUSTERED
(
[izvlacenje_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[kupon] Script Date: 12/18/2011 22:13:15 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[kupon](
[kupon_id] [INT] NOT NULL,
[izvlacenje_id] [INT] NULL,
[vreme] [datetime] NULL,
[broj1] [INT] NULL,
[broj2] [INT] NULL,
[broj3] [INT] NULL,
[broj4] [INT] NULL,
[broj5] [INT] NULL,
[broj6] [INT] NULL,
CONSTRAINT [PK_kupon] PRIMARY KEY CLUSTERED
(
[kupon_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: ForeignKey [FK_kupon_izvlacenje] Script Date: 12/18/2011 22:13:15 ******/
ALTER TABLE [dbo].[kupon] WITH CHECK ADD CONSTRAINT [FK_kupon_izvlacenje] FOREIGN KEY([izvlacenje_id])
REFERENCES [dbo].[izvlacenje] ([izvlacenje_id])
GO
ALTER TABLE [dbo].[kupon] CHECK CONSTRAINT [FK_kupon_izvlacenje]
GO
Kako da dođem do rešenja da za svaki odigrani kupon dobijem broj pogodataka?