PDA

View Full Version : سوال: اشكال در دستور SQL



kamand314
دوشنبه 20 خرداد 1387, 10:08 صبح
سلام
لطفا شكل صحيح دستور زير را بگوييد ، در SQL كه اجرا ميكنم خطاي Incorrect syntax near '.'. را مي دهد


select (select idkala,count(idtype) as count1 from table1 group by idkala) as test.*,tblkala.price as price1 from tblkala
inner join test on test.idkala=tblkala.id
در table1 مشخصات يك سري كالا است كه idtype نوع كالا را مشخص مي كند و در tblkala قيمت كالا ها ست
من مي خواهم تعداد هر نوع كالايي را با قيمت آن را از اين دو جدول استخراج كنم

amin_alexi
دوشنبه 20 خرداد 1387, 11:18 صبح
این رو تست کن
یه ویرگول رو نقطه گذاشتی !!!! as test,*


select
(select idkala,count(idtype) as count1 from table1 group by idkala)
as test,*,tblkala.price as price1
from tblkala
inner join test on test.idkala=tblkala.id

Kamyar.Kimiyabeigi
دوشنبه 20 خرداد 1387, 12:38 عصر
select
(select count(idtype) from table1 where table1.idkala = t.id) as 'Count',
t.price as price1
from tblkala t

kamand314
سه شنبه 21 خرداد 1387, 08:09 صبح
این رو تست کن
یه ویرگول رو نقطه گذاشتی !!!! as test,*


select
(select idkala,count(idtype) as count1 from table1 group by idkala)
as test,*,tblkala.price as price1
from tblkala
inner join test on test.idkala=tblkala.id



اين رو هم امتحان كردم ، بازم نشد

اصغر (پآچ)
سه شنبه 21 خرداد 1387, 12:21 عصر
سلام
لطفا شكل صحيح دستور زير را بگوييد ، در SQL كه اجرا ميكنم خطاي Incorrect syntax near '.'. را مي دهد


select (select idkala,count(idtype) as count1 from table1 group by idkala) as test.*,tblkala.price as price1 from tblkala
inner join test on test.idkala=tblkala.id
در table1 مشخصات يك سري كالا است كه idtype نوع كالا را مشخص مي كند و در tblkala قيمت كالا ها ست
من مي خواهم تعداد هر نوع كالايي را با قيمت آن را از اين دو جدول استخراج كنم

سلام دوست من

مشکلت رو گفتم اما بازم تکرار می کنم!

از این استفاده کن!


select (select idkala,count(idtype) as count1 from table1 group by idkala) as Alias1, test.*,tblkala.price as price1 from tblkala
inner join test on test.idkala=tblkala.id

kamand314
سه شنبه 21 خرداد 1387, 12:53 عصر
سلام دوست من

مشکلت رو گفتم اما بازم تکرار می کنم!

از این استفاده کن!


select (select idkala,count(idtype) as count1 from table1 group by idkala) as Alias1, test.*,tblkala.price as price1 from tblkala
inner join test on test.idkala=tblkala.id

ببينيد اصغر آقا من جدولي به نام test ندارم ، test اسم مستعار براي دستور select داخل پرانتز
است كه من مي خواهم يك ارتباط بين آن و tblkala برقرار كنم يعني همان Alias1 كه شما در
دستورتان نوشتيد اما با اجراي آن باز پيغام invalid object name 'test' را مي دهد

ASKaffash
سه شنبه 21 خرداد 1387, 15:08 عصر
با سلام
شما در SubQuery نمیتوانید بیشتراز یک ستون داشته باشید :


select
(select idkala,count(idtype) as count1 from table1 group by idkala)
as test,*,tblkala.price as price1
from tblkala
inner join test on test.idkala=tblkala.id

Amir_Safideh
سه شنبه 21 خرداد 1387, 20:21 عصر
همونطور که دوستان گفتن هر SubQuery بیشتر از یک فیلد رو نمیتونه برگردونه .

SELECT tblkala.idkala,(SELECT COUNT(idtype)FROM Table1 AS Test INNER JOIN tblkala
ON Test.idkala = tblkala.idkala WHERE Test.idkala = tblkala.idkala)AS Count1
FROM tblkala
GROUP BY idkala
--------------
موفق باشید.

kamand314
پنج شنبه 23 خرداد 1387, 07:37 صبح
همونطور که دوستان گفتن هر SubQuery بیشتر از یک فیلد رو نمیتونه برگردونه .

SELECT tblkala.idkala,(SELECT COUNT(idtype)FROM Table1 AS Test INNER JOIN tblkala
ON Test.idkala = tblkala.idkala WHERE Test.idkala = tblkala.idkala)AS Count1
FROM tblkala
GROUP BY idkala
--------------
موفق باشید.
با سلام مجدد
با تشكر از دوستاني كه لطف كردند و به سئوال من پاسخ دادند ، من فكر مي كنم كه دوستان
متوجه سئوال من نشدند و يا من سئوالم رو بد گفتم
من يك جدول دارم كه يك سري مشخصات كالا در اون هست بخصوص نام كالا و كد نوع كالا مثلا
idtype مثلا اگر اين فيلد 5 باشد يعني اين كلا در گروه كالاهاي صوتي و تصويري قرار دارد
يك جدول ديگه هم دارم كه در اون مشخص شده هر گروه ازاين كالاها در كدام قسمت از انبار
فروشگاه قرار گرفته ( مثلا در اين جدول ditype=5 باشد مكان كالا در فيلد location برابر با A ميشود ) و idtype در جدول دوم منحصر بفرد است
حالا من ميخوام يك دستور بنويسم كه تعداد كالاها در هر نوع را از جدول اول به همراه محل قرار
گرفتن آنها از جدول دوم را به من بدهد

Amir_Safideh
پنج شنبه 23 خرداد 1387, 13:24 عصر
بهتره برای اینکه به جواب درست برسی یه بار نام همه این جداول رو با لیست فیلدهای آنها بنویسی تا درست متوجه بشیم . من خیلی دقیق متوجه نشدم که چی میخواید . شما پست اولتون رو یه بار بخونید و پست آخرتون رو هم یه بار بخونید . سوالتون خیلی فرق میکنه با هم .
------------
موفق باشید .

kamand314
شنبه 25 خرداد 1387, 07:19 صبح
بهتره برای اینکه به جواب درست برسی یه بار نام همه این جداول رو با لیست فیلدهای آنها بنویسی تا درست متوجه بشیم . من خیلی دقیق متوجه نشدم که چی میخواید . شما پست اولتون رو یه بار بخونید و پست آخرتون رو هم یه بار بخونید . سوالتون خیلی فرق میکنه با هم .
------------
موفق باشید .

سلام
اولا دليل اينكه سئوال پست اول و آخر من با هم فرق مي كنند اينه كه من سئوالم را مي خواستم روي يك نمونه كوچك تر شبيه سازي كنم كه ديدم پست اول مثال زياد خوبي نيست

اما در مورد ساختار جدولها كه فرموديد به شرح زير است :
يك جدول به نام tblkala كه فيلداش :
idkala كد كالا ( يك عدد )
kalaname نام كالا
idtype كد گروه كالا ( يك عدد )
و ....
و فيلدهاي جدول دوم (tblanbar):
idkala كدكالا
location مكان كالا در انبار ( يك كاركتر)
و ....
من مي خواهم با يك دستور sql يك خروجي داشته باشم بصورت زير :
كد كالا - تعداد كالا در هرگروه يعني( count(idtype از جدول اول و محل كالا از جدول دوم