ورود

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 صبح
سلام
دوستان می تونن راهنمایی کنن؟؟
با تشکر