مرحبا بالجميع اختفينا هذه الفتره انشغلت في العمل وكنت مستني استفساراتكم حول طرق الشرح ومافي اي استفسارات
How to create a table with a bit data type column
كيفية إنشاء جدول بعمود نوع بيانات بت
create table myBooleanTable
(
id int,
ispair bit
)
كيفية إنشاء جدول بعمود نوع بيانات بت
create table myBooleanTable
(
id int,
ispair bit
)
شاركو الرابط قد يستفيد غيرك عن طريقك فتكسب اجره رابط الانظمام الى القناه
https://t.me/sql_asp_project
https://t.me/sql_asp_project
Telegram
تعلم قواعد بيانات SQL Database
تعلم وعلم غيرك في قواعد بيانات SQL Database
تحليل وتصميم قواعد بيانات
وبرمجه مواقع اخبارية
تحليل وتصميم قواعد بيانات
وبرمجه مواقع اخبارية
اليو م فيه معانا استخدام اداتين قد لايستغني عنها اي مبرمج في عمل الاسترجاعات استخدام الاداتين في عمل الشروط او اختبار القيم IIF و case
1- IIF function
2-case when
IIF(BASIC = 'TRUE', 'YES', 'NO')
case when column = 'FALSE' then 'NO' else 'YES' end
IIF(اذا لم يتحقق الشرط, 'اذا تحقق الشرط', الشرط)
case when الشرط then اذا تحقق الشرط else اذا لم يتحقق الشرط end
1- IIF function
2-case when
IIF(BASIC = 'TRUE', 'YES', 'NO')
case when column = 'FALSE' then 'NO' else 'YES' end
IIF(اذا لم يتحقق الشرط, 'اذا تحقق الشرط', الشرط)
case when الشرط then اذا تحقق الشرط else اذا لم يتحقق الشرط end
امثله على الدوال السابقه مثلا قيمتين نريد نطبع اذا كان العدد الاول اكبر من الثاني اطبع لنا True مالم اطبع False
او اطبع اذا كان مجموع الرقمين اكبر من 90 excellent مالم وجيد good
DECLARE @a INT = 45, @b INT = 40;
SELECT IIF( @a> @b, 'True', 'False' ) as res,
IIF( @a+ @b>90, 'excellent', 'good' ) as txtResalt
او اطبع اذا كان مجموع الرقمين اكبر من 90 excellent مالم وجيد good
DECLARE @a INT = 45, @b INT = 40;
SELECT IIF( @a> @b, 'True', 'False' ) as res,
IIF( @a+ @b>90, 'excellent', 'good' ) as txtResalt
👍1
يمكن استخدام الاداتين السابقتين ل اكثر من شرط
SELECT CASE
WHEN @a <=0 THEN 'bad'
WHEN @a>=50 and @a<=60 THEN 'good'
WHEN @a>90 THEN ' Excellent'
END
SELECT CASE
WHEN @a <=0 THEN 'bad'
WHEN @a>=50 and @a<=60 THEN 'good'
WHEN @a>90 THEN ' Excellent'
END
🥰1
تستخدم هذا الدالتين في اكثر من خدمه في الاسترجاع في تحديث البيانات في الشروط في الترتيب في اغلب الاشياء
1-Use CASE in an UPDATE statement
UPDATE HumanResources.Employee
SET VacationHours = (
CASE
WHEN ((VacationHours - 10.00) < 0) THEN VacationHours + 40
ELSE (VacationHours + 20.00)
END
)
OUTPUT Deleted.BusinessEntityID,
Deleted.VacationHours AS BeforeValue,
Inserted.VacationHours AS AfterValue
WHERE SalariedFlag = 0;
2-Use CASE in a HAVING clause
3-Use CASE in an ORDER BY clause
ORDER BY CASE SalariedFlag
WHEN 1 THEN BusinessEntityID
END DESC
1-Use CASE in an UPDATE statement
UPDATE HumanResources.Employee
SET VacationHours = (
CASE
WHEN ((VacationHours - 10.00) < 0) THEN VacationHours + 40
ELSE (VacationHours + 20.00)
END
)
OUTPUT Deleted.BusinessEntityID,
Deleted.VacationHours AS BeforeValue,
Inserted.VacationHours AS AfterValue
WHERE SalariedFlag = 0;
2-Use CASE in a HAVING clause
3-Use CASE in an ORDER BY clause
ORDER BY CASE SalariedFlag
WHEN 1 THEN BusinessEntityID
END DESC
👍2
سلام الله عليكم اتمنى ان يستفيد الجميع من هذه القناه منتظر ارائكم واستفساراتكم حول طريقه الشرح وماهي المواضيع التي تحتاجو شرح فيها اكثر بحيث اذا بدانا في بنا قاعده بيانان متكامله نكون قد فهمنا كل المواضيع او اغلبها
👍1
اسعد الله اوقاتكم بكل خير
كيف نعمل استعلام يضهر لنا عدد الصفوف المكرره
SELECT column1, column2, COUNT(*)
FROM your_table
GROUP BY column1, column2
HAVING COUNT(*) > 1;
كيف نعمل استعلام يضهر لنا عدد الصفوف المكرره
SELECT column1, column2, COUNT(*)
FROM your_table
GROUP BY column1, column2
HAVING COUNT(*) > 1;
طيب اذا نريد نحذف الصفوف المكرره ونترك صف واحد من كل صف مكرر
DELETE FROM your_table
WHERE (column1) IN (
SELECT column1
FROM your_table
GROUP BY column1, column2
HAVING COUNT(*) > 1
);
DELETE FROM your_table
WHERE (column1) IN (
SELECT column1
FROM your_table
GROUP BY column1, column2
HAVING COUNT(*) > 1
);
❤1
SELECT LTRIM(RTRIM(column1)) as column1,column2,column... ,
count(LTRIM(RTRIM(column1)))as cno into #Temp FROM your_table
where st_status=0 and len(LTRIM(RTRIM(column1)))>0
GROUP BY LTRIM(RTRIM(column1)),column2,column... ,
HAVING COUNT(*) > 1
select ROW_NUMBER() OVER (PARTITION BY LTRIM(RTRIM(column1)) ORDER BY LTRIM(RTRIM(column1)) ASC)as SR,*
into #TEmp2
from your_table s where LTRIM(RTRIM(column1)) in(select t.column1 from #Temp t where t.column2=s.column2 and t.column3=s.column3)
order by LTRIM(RTRIM(column1))
delete your_table where ID
in(select t.ID from #TEmp2 t where t.SR<>1 and t.column2=your_table.column2
and t.column3=your_table.column3)
drop table #Temp
drop table #Temp2
count(LTRIM(RTRIM(column1)))as cno into #Temp FROM your_table
where st_status=0 and len(LTRIM(RTRIM(column1)))>0
GROUP BY LTRIM(RTRIM(column1)),column2,column... ,
HAVING COUNT(*) > 1
select ROW_NUMBER() OVER (PARTITION BY LTRIM(RTRIM(column1)) ORDER BY LTRIM(RTRIM(column1)) ASC)as SR,*
into #TEmp2
from your_table s where LTRIM(RTRIM(column1)) in(select t.column1 from #Temp t where t.column2=s.column2 and t.column3=s.column3)
order by LTRIM(RTRIM(column1))
delete your_table where ID
in(select t.ID from #TEmp2 t where t.SR<>1 and t.column2=your_table.column2
and t.column3=your_table.column3)
drop table #Temp
drop table #Temp2
❤2
هذا الكود الخاص بالحذف لابد ان تحفظ البيانات المكرره في جدول وهمي لكي ما تحذف جميع الصفوف
كيف نعمل تحديث لجدول عن طريق الربط باكثر من جدول
التحديث باستخدام العلاقات INNER JOIN
طريقه حلوه وسهله
UPDATE Per
SET
Per.PersonCityName=Addr.City,
Per.PersonPostCode=Addr.PostCode
FROM Persons Per
INNER JOIN
AddressList Addr
ON Per.PersonId = Addr.PersonId
التحديث باستخدام العلاقات INNER JOIN
طريقه حلوه وسهله
UPDATE Per
SET
Per.PersonCityName=Addr.City,
Per.PersonPostCode=Addr.PostCode
FROM Persons Per
INNER JOIN
AddressList Addr
ON Per.PersonId = Addr.PersonId
سلام الله عليكم العفوا على التاخير لاكن ان شاء الله نستمر بجهودكم وتفاعلكم من خلال نشر القروب الى اكبر عدد من الطلاب لانه كلما كان المتفاعلين اكثر في النقاش وطرح المقترحات كلما كانت الاستفاده اكثر
❤1
اليوم فيه معانا درس حلو جدا يحتاجه اغلب المبرمجين الذين ينشئون استرجاعات كبيره عندما يسترجعوا متغيرات من جداول اخرى
declare @id int
declare @RLivel nvarchar(50), @Year int ,@vale decimal(18,2)
قبل التبسيط
set @RLivel= (select top 1 txt from TableName where id=@id)
set @Year= (select top 1 Yea from TableName where id=@id)
set @vale= (select top 1 vale from TableName where id=@id)
select @RLivel,@Year,@vale
declare @id int
declare @RLivel nvarchar(50), @Year int ,@vale decimal(18,2)
قبل التبسيط
set @RLivel= (select top 1 txt from TableName where id=@id)
set @Year= (select top 1 Yea from TableName where id=@id)
set @vale= (select top 1 vale from TableName where id=@id)
select @RLivel,@Year,@vale
❤1
الذي حابب ينظم للقناه الاستفسارات هذا الرابط
https://t.me/c/1696274902/571
https://t.me/c/1696274902/571
👍3
ما هي افضل الطرق لجعل الاسترجاع سريع
ماهي طرق تسريع الاسترجاعات
ممكن مقترحاتكم وارائكم في هذا الموظوع
ماهي طرق تسريع الاسترجاعات
ممكن مقترحاتكم وارائكم في هذا الموظوع