PDA

View Full Version : عدم نمایش نام دو ستون از سه ستون select شده



imanasp
دوشنبه 02 دی 1392, 09:06 صبح
سلام من کوئری زیر رو نوشتم :


select sum(See) as [All] from StateSite
union (select See as [Last] from StateSite l1 where Date='12/22/2013')
union (select See as [Now] from StateSite l2 where Date='12/23/2013')

اما فقط ستون All رو در خروجی نشون میده در حالیکه می خام ستون Last و Now رو هم نشون بده(نتیجه رو نشون میده من میخام نام ستون ها رو در کنار نتایج نشون بده)
میدونم از Group by استفاده میشه ولی خطا میده

golnaz_a
دوشنبه 02 دی 1392, 12:15 عصر
در دستور union الیاسی که ستون ها میگیرند الیاس Query اول است اگر می خواهید سه تا ستون داشته باشید نباید از union استفاده کنید

حمیدرضاصادقیان
دوشنبه 02 دی 1392, 12:47 عصر
سلام.
به جای اینکه از Union استفاده کنید هر سه دستور Select رو به صورت Subquery بنویسید تا بتونید به نتیجه دلخواه برسید.

imanasp
دوشنبه 02 دی 1392, 17:27 عصر
سلام.
به جای اینکه از Union استفاده کنید هر سه دستور Select رو به صورت Subquery بنویسید تا بتونید به نتیجه دلخواه برسید.

منم همین کارو کردم ولی خطای زیر رو دریافت کردم:


Subquery returned more than 1 value.This is not permitted when the subquery follows =,!=,<,<=,>,>= or when the subquery is used as an expression

حمیدرضاصادقیان
دوشنبه 02 دی 1392, 22:49 عصر
خوب بله این خطا میده و باید یا یک مقدار برگردونه یا از Correlated Subquery استفاده کنید.
بعد اینکه تعداد ردیفهای هرQuery شما باهم متفاوته.اولیش یک رکورد برمیگردونه دومی و سومی هم ممکنه رکوردهای مختلفی برگردونن.
به این شکل شما جواب نمیگیرید.
دقیقا بفرمایید چه گزارشی مدنظرتونه و مقداری صورت مسئله رو شفاف کنید.