View Full Version : مبتدی: ماکسیمم ، ماکسیمم دو فیلد از دو تیبل متفاوت
Sal_64
یک شنبه 17 آبان 1388, 17:27 عصر
سلام
چطور میشه چیزی شبیه به این داشت
max (max(a.b))
a= Select max(f1) from t1
b= Select max(f2) from t2
Select max(a,b)
با تشکر
محمد سلیم آبادی
یک شنبه 17 آبان 1388, 18:00 عصر
select max(f) as max
from
(
select max(f1) as f
from t1
union all
select max(f2) as f
from t2
) as d
یا می توانید با کمک عبارت های مربوط به Modification Data مساله را به راحتی حل کنید:
Declare @theMax table (f int)
Insert Into @theMax
Select max(f1)
from t1
Insert Into @theMax
Select max(f2)
from t2
select * from @theMax
Select Max(f)
from @theMax
Sal_64
سه شنبه 08 دی 1388, 13:11 عصر
سلام
من از نمونه کد اول شما استفاده کردم
اما زمانیکه حتی در یکی از رکوردها ، فیلد f1 و یا f2 آن تهی باشد
با خطا مواجه می شود
راهی وجود دارد که این خطا را رفع کرد
با تشکر
Hamid.Kad
سه شنبه 08 دی 1388, 18:20 عصر
اینم یه روش دیگه
declare @a int,@b int
Select @a=max(f1) from t1
Select @b=max(f2) from t2
if (@a>@b)
select @a
else
Select @b
برای حل اون مشکل از تابع IsNull استفاده کنید
Sal_64
چهارشنبه 09 دی 1388, 17:36 عصر
سلام
برای حل اون مشکل از تابع IsNull استفاده کنید نحوه استفاده از اون رو هم می گید
با این فرض که برای فیلدهای f1 و f2 از casting (تغییر نوع) هم استفاده شده باشه
با تشکر
Hamid.Kad
جمعه 11 دی 1388, 14:45 عصر
SELECT MAX(f) FROM (
SELECT MAX(ISNULL(CAST(f1 AS INT),0)) f FROM t1
UNION ALL
SELECT MAX(ISNULL(cast(f2 AS INT),0)) f FROM t2
) t
محمد سلیم آبادی
جمعه 11 دی 1388, 14:47 عصر
سلام
من از نمونه کد اول شما استفاده کردم
اما زمانیکه حتی در یکی از رکوردها ، فیلد f1 و یا f2 آن تهی باشد
با خطا مواجه می شود
راهی وجود دارد که این خطا را رفع کرد
با تشکر
از این استفاده کنین:
;with t1 as (select null as f1),
t2 as (select 1 as f2)
select max(f) as max
from
(
select f1 as f
from t1
union all
select f2 as f
from t2
) as d
Sal_64
جمعه 11 دی 1388, 19:13 عصر
سلام
تشکر
داخل sql درسته
اما اون داخل Access با خطا روبه رو میشه
فیلد f1 از نوع text
میشه کد رو ببینید
select max(isnull(Clng( f1 ),0) ) as f from t1ٌ
متن خطا
Wrong number of arguments used with function in quary expression max(isnull(clang(f1),0)
با تشکر
Sal_64
دوشنبه 14 دی 1388, 10:16 صبح
سلام
دوستان می تونن راهنمایی کنن؟؟
با تشکر
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.