ورود

View Full Version : درخواست راهنمایی در نوشتن یه دستور جستجو



elina
سه شنبه 09 آبان 1391, 16:09 عصر
سلام
من یه جدول دارم که توی اون ID ماشین و ID محل پروژه مربوط به ماشین رو همراه با زمان اختصاص ماشین به پروژه دارم ، یک ماشین میتونه در تاریخ های مختلف در پروژه های مختلفی قرار بگیره ، نمیدونم چه طور یه Query بنویسم که ID محل پروژه رو بهش بدم و ماشین هایی که الان در این پروژه هستند رو خروجی بگیرم .
ممنون میشم راهنمایی بفرمائید.

elina
چهارشنبه 10 آبان 1391, 12:00 عصر
میدونم باید اطلاعات گروه بندی بشه و از تاریخ سورت بشه ولی نمیدونم منطقش چی میشه ... کسی نیست ...؟

حمیدرضاصادقیان
چهارشنبه 10 آبان 1391, 14:43 عصر
سلام.
شما ساختار جداول رو بنویسید تا راحتتر بشه دستور مورد نظر رو نوشت.
در ضمن خودتون تلاشی برای حلش نکردید؟ به چه راه حل هایی پی بردین؟؟اونها رو هم بیان کنید.

elina
چهارشنبه 10 آبان 1391, 15:03 عصر
جدول من سه فیلد داره


شناسه ماشین
شناسه پروژه
تاریخ در اختیار قرار گرفتن ماشین در این پروژه

دو فیلد اول کلید خارجی به جداول اطلاعاتی خودشون میشن و از نوع int هستند و فیلد آخر زمان assign شدن ماشین به پروژه رو نشون میده که از نوع date time است.

تلاش که قاعدتا شده ولی به نتیجه ای روی این مورد نرسیدم .
چیزی که به ذهنم میرسه اینه که باید به کمک شناسه ماشین یه گروه بندی انجام بشده و روی هر گروه که مختص یه ماشین خاص هست ، با سورت کردن زمان تاپ 1 رو برداشت . حالا با شرط پروژه خاص نتیجه رو فیلتر کرد .

elina
چهارشنبه 10 آبان 1391, 15:07 عصر
این هم اسکریپت جدولم


CREATE TABLE [dbo].[MachinShop](
[MachineryID] [int] NOT NULL,
[WorkshopID] [int] NOT NULL,
[Date] [datetime] NULL,
CONSTRAINT [PK_Machin-Shop] PRIMARY KEY CLUSTERED
(
[MachineryID] ASC,
[WorkshopID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]

GO
USE [CMMS]
GO
ALTER TABLE [dbo].[MachinShop] WITH CHECK ADD CONSTRAINT [FK_Machin-Shop_Workshop] FOREIGN KEY([MachineryID])
REFERENCES [dbo].[Workshop] ([WorkshopID])

hamidkh
پنج شنبه 11 آبان 1391, 09:54 صبح
سلام
اینطور که من متوجه شدم فیلتر شما باید روی ID محل پروژه و تارخ باشه. الان منظورتون کی؟؟ اگر آخرین رکورد رو میخواین باید تاریخ رو سورت کنید. در غیر اینصورت اگر زمان خاصی مورد نظرتون است باید تاریخ هم فیلتر شود. نیازی به گروه بندی هم نیس. نتیجه هم با جدول ماشین ها مرتبط میشه و اسم ماشین ها رو خروجی میگیرم.

elina
دوشنبه 15 آبان 1391, 11:47 صبح
ممنونم ، با گذاشتن ROW_NUMBER و پارتیشن بندی مشکلم رو حل کردم .