PDA

View Full Version : سوال: پركدن جدول اصلي از روي جدول فرعي



ali_abbasi22145
دوشنبه 17 خرداد 1389, 16:07 عصر
سلام
ما يك جدول اصلي MT داريم شامل كدملي و نام و نام خانوادگي و سوابق تحصيلي كه در چند خطه مي خواهم نمايش دهم.
و جدول فرعي DT داريم كه شامل كدملي و نام و نام خانوادگي و سابقه تحصيلي مجزا.
كه ركوردهاي آن شامل:
1234567890و علي عباسي و ديپلم رياضي
1234567890و علي عباسي و ليسانس كامپيوتر
1234567890وعلي عباسي و دوره آموزشي شبكه
1234567891و حسين شاهيني و ديپلم انساني
1234567891و حسين شاهيني و ليسانس علوم اجتماعي
1234567891و حسين شاهيني و دوره آموزشي مهارت منابع انساني

حال مي خواهيم جدول اصلي MT به شكل زير پركنيم از روي جدول فرعي:
1234567890و علي عباسي و ديپلم رياضي
ليسانس كامپيوتر
دوره آموزشي شبكه

محمد سلیم آبادی
دوشنبه 17 خرداد 1389, 18:33 عصر
ما يك جدول اصلي MT داريم شامل كدملي و نام و نام خانوادگي و سوابق تحصيلي كه در چند خطه مي خواهم نمايش دهم
سوابق تحصیلی در یک فیلد ذخیره میشن و موقع نمایش می خواهین که با enter از هم جدا شده باشند؟

ali_abbasi22145
سه شنبه 18 خرداد 1389, 09:19 صبح
سوابق تحصیلی در یک فیلد ذخیره میشن و موقع نمایش می خواهین که با enter از هم جدا شده باشند؟
سلام وتشكر از توجه تان
با Enter يا Space البته Enter بهتر است.

محمد سلیم آبادی
سه شنبه 18 خرداد 1389, 10:24 صبح
این کد را امتحان کنید:

CREATE FUNCTION dbo.concat (@codeMeli VARCHAR(50)) RETURNS VARCHAR(2000) AS
BEGIN
DECLARE @Concat VARCHAR(2000);
-- SET @Concat = '';
SELECT @Concat = COALESCE(@Concate + CHAR(13), '') + Savabeg
FROM DT
WHERE CodeMeli = @CodeMeli
RETURN @Concat
END
GO
INSERT INTO MT
SELECT CodeMeli, FistName, LastName, dbo.concat(CodeMeli)
FROM DT
GROUP BY CodeMeli, FistName, LastName;

ali_abbasi22145
سه شنبه 18 خرداد 1389, 10:38 صبح
من از sql server 2000 استفاده مي كنم آيا اين كد براي 2000 است؟

محمد سلیم آبادی
سه شنبه 18 خرداد 1389, 10:41 صبح
من از sql server 2000 استفاده مي كنم آيا اين كد براي 2000 است؟

ویژه ی 2000 هست. فقط فراموش نکنید که قبل از استفاده از دستور insert باید تابع ایجاد بشه

ali_abbasi22145
سه شنبه 18 خرداد 1389, 11:04 صبح
روش ساده تري كسي ندارد؟

محمد سلیم آبادی
سه شنبه 18 خرداد 1389, 11:08 صبح
روش ساده تري كسي ندارد؟
مگه این روش ساده نیست؟
مگه مشکلتون حل نشد؟
فکر می کنید از این روش ساده تر هم هست؟
چرا یک view ایجاد نمی کنید و این نتیجه ی مورد نظر را نمایش بده؟
اصلا قرار نیست شما کاری را انجام بدین از تابع به سادگی استفاده میشه.