PDA

View Full Version : سه کوئری در یک کوئری



morteza.azad
جمعه 22 بهمن 1389, 21:29 عصر
سلام.
من میخام سه تا کوئری مختلف رو در یک کوئری قرار بدم. لطفا راهنمائیم کنید.
ببینید من میخام تعداد افراد هر واحد رو با سه شرط مختلف برای یک آیتم نمایش بدم
http://barnamenevis.org/attachment.php?attachmentid=66236&d=1297440046

به این صورت که یک بار CodeId کوچکتراز 5، و بار دیگر بین 5 و 9 و بار دیگر بین 10 و 13 باشه و همشون براساس واحد تعدادشون نشون بده.
من به صورت تک تک تونستم بدست بیارم اما باهم تو یک کوئری نشد. لطفا راهنمایی بفرمائید...
میخام در نهایت به این صورت باشه
http://barnamenevis.org/attachment.php?attachmentid=66237&d=1297440543

#aliyari_C
شنبه 23 بهمن 1389, 00:59 صبح
سلام
اول جدول ها تو Join كن بعد از Groub by استفاده كن
موفق باشي

morteza.azad
شنبه 23 بهمن 1389, 15:02 عصر
سلام
اول جدول ها تو Join كن بعد از Groub by استفاده كن
موفق باشي

لطفا دقیق تر توضیح بدین...
خیلی گیرم

unique1984
دوشنبه 25 بهمن 1389, 16:38 عصر
سلام
مشکلی نداره که!
شما با دیتابیس من تست کنید، ببینید همین نتیجه رو میخواید؟ یک دیتابیس با نام Test در sql ایجاد کنید و اسکریپت زیر رو اجرا کنید یا Backup ضمیمه رو Restore کنید و بعد کوئری قبلی رو اجرا کنید .

USE [Test]
GO
/****** Object: Table [dbo].[TblCode] Script Date: 02/09/2011 16:29:43 ******/
DROP TABLE [dbo].[TblCode]
GO
/****** Object: Table [dbo].[TblSoldier] Script Date: 02/09/2011 16:29:48 ******/
DROP TABLE [dbo].[TblSoldier]
GO
/****** Object: Table [dbo].[TblUnit] Script Date: 02/09/2011 16:29:52 ******/
DROP TABLE [dbo].[TblUnit]
GO
/****** Object: Table [dbo].[TblUnit] Script Date: 02/09/2011 16:29:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[TblUnit](
[UnitId] [int] NOT NULL,
[UnitName] [nvarchar](50) NULL,
CONSTRAINT [PK_TblUnit] PRIMARY KEY CLUSTERED
(
[UnitId] 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
INSERT [dbo].[TblUnit] ([UnitId], [UnitName]) VALUES (1, N'آشپزخانه')
INSERT [dbo].[TblUnit] ([UnitId], [UnitName]) VALUES (2, N'برنامه و بودجه')
INSERT [dbo].[TblUnit] ([UnitId], [UnitName]) VALUES (3, N'فرماندهی')
/****** Object: Table [dbo].[TblSoldier] Script Date: 02/09/2011 16:29:48 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[TblSoldier](
[SoldierId] [int] NOT NULL,
[CodeId] [int] NULL,
[UnitId] [int] NULL,
[FirstName] [nvarchar](50) NULL,
[LastName] [nvarchar](50) NULL,
CONSTRAINT [PK_TblSoldier] PRIMARY KEY CLUSTERED
(
[SoldierId] 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
INSERT [dbo].[TblSoldier] ([SoldierId], [CodeId], [UnitId], [FirstName], [LastName]) VALUES (1, 1, 1, N'1', N'محمد')
INSERT [dbo].[TblSoldier] ([SoldierId], [CodeId], [UnitId], [FirstName], [LastName]) VALUES (2, 1, 1, N'1', N'علی ')
INSERT [dbo].[TblSoldier] ([SoldierId], [CodeId], [UnitId], [FirstName], [LastName]) VALUES (3, 2, 1, N'2', N'احمد')
INSERT [dbo].[TblSoldier] ([SoldierId], [CodeId], [UnitId], [FirstName], [LastName]) VALUES (4, 3, 2, N'2', N'رضا')
INSERT [dbo].[TblSoldier] ([SoldierId], [CodeId], [UnitId], [FirstName], [LastName]) VALUES (5, 5, 2, N'3', N'حسن')
INSERT [dbo].[TblSoldier] ([SoldierId], [CodeId], [UnitId], [FirstName], [LastName]) VALUES (6, 6, 2, N'5', N'حسین')
INSERT [dbo].[TblSoldier] ([SoldierId], [CodeId], [UnitId], [FirstName], [LastName]) VALUES (7, 9, 3, N'7', N'سجاد')
INSERT [dbo].[TblSoldier] ([SoldierId], [CodeId], [UnitId], [FirstName], [LastName]) VALUES (8, 1, 3, N'4', N'عباس')
INSERT [dbo].[TblSoldier] ([SoldierId], [CodeId], [UnitId], [FirstName], [LastName]) VALUES (9, 11, 3, N'6', N'باقر')
INSERT [dbo].[TblSoldier] ([SoldierId], [CodeId], [UnitId], [FirstName], [LastName]) VALUES (10, 12, 3, N'2', N'شهاب')
INSERT [dbo].[TblSoldier] ([SoldierId], [CodeId], [UnitId], [FirstName], [LastName]) VALUES (11, 13, 2, N'4', N'آرش')
INSERT [dbo].[TblSoldier] ([SoldierId], [CodeId], [UnitId], [FirstName], [LastName]) VALUES (12, 8, 1, N'5', N'مختار')
/****** Object: Table [dbo].[TblCode] Script Date: 02/09/2011 16:29:43 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[TblCode](
[codeid] [int] NOT NULL,
[codename] [nvarchar](50) NULL,
CONSTRAINT [PK_tBlCode] PRIMARY KEY CLUSTERED
(
[codeid] 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
INSERT [dbo].[TblCode] ([codeid], [codename]) VALUES (1, N'code1')
INSERT [dbo].[TblCode] ([codeid], [codename]) VALUES (2, N'code2')
INSERT [dbo].[TblCode] ([codeid], [codename]) VALUES (3, N'code3')
INSERT [dbo].[TblCode] ([codeid], [codename]) VALUES (4, N'Code4')
INSERT [dbo].[TblCode] ([codeid], [codename]) VALUES (5, N'Code5')
INSERT [dbo].[TblCode] ([codeid], [codename]) VALUES (6, N'Code6')
INSERT [dbo].[TblCode] ([codeid], [codename]) VALUES (7, N'Code7')
INSERT [dbo].[TblCode] ([codeid], [codename]) VALUES (8, N'Code8')
INSERT [dbo].[TblCode] ([codeid], [codename]) VALUES (9, N'Code9')
INSERT [dbo].[TblCode] ([codeid], [codename]) VALUES (10, N'Code10')
INSERT [dbo].[TblCode] ([codeid], [codename]) VALUES (11, N'Code11')
INSERT [dbo].[TblCode] ([codeid], [codename]) VALUES (12, N'Code12')
INSERT [dbo].[TblCode] ([codeid], [codename]) VALUES (13, N'Code13')
66362