PDA

View Full Version : مشکل در دستور inner join اسکیوال



tux-world
سه شنبه 04 بهمن 1390, 00:20 صبح
از دوتا جدول میخوام اونایی که کد پایه تحصیلی از جدول لیست پایه شون برابر کد پایه از جدول لیست کلاس هستن رو نشون بده ولی مشکل:
select *
FROM `liste_paye` ineer
JOIN `liste_kelas` ON `liste_kelas`.`code_kelas`
WHERE `liste_kelas`.`code_paye` =20

مشکل اینه نمی تونم به جای عدد 20 بنویسم

`liste_paye`.`code_paye`
اسکیوال خطا میگیره.
#1054 - Unknown column 'liste_paye.code_paye' in 'where clause'
وقتی هم مینویسم 20 و باید فقط دوتا فیلد رو نشون بده بقیه رو هم لیست میکنه چرا؟
81340

mohsen24000
سه شنبه 04 بهمن 1390, 08:42 صبح
مشکل شما در نحوه join کردنه که باید به صورت زیر join بشه:


select *
FROM `liste_paye` ineer
JOIN `liste_kelas` ON `liste_paye`.`code_paye`=`liste_kelas`.`code_paye`
WHERE `liste_kelas`.`code_paye` =20

tux-world
سه شنبه 04 بهمن 1390, 09:39 صبح
این خطا رو میده :

#1054 - Unknown column 'liste_paye.code_paye' in 'on clause'

Reza1607
سه شنبه 04 بهمن 1390, 22:44 عصر
تو قسمت سلكت به جاي ستاره نام فيلدها رو وارد كنيد سعي كنيد اسم جدول رو هم وارد كنيد

Reza1607
سه شنبه 04 بهمن 1390, 22:48 عصر
دليل خطايي هم كه ميده اينه كه شما ميخواين فيلدي رو انتخاب كنيد كه حداقل در دو جدول وجود داره و mysql‏ نمي تونه تصميم بگيره كه كدوم رو نشون بده بس مياد با يك خطا شما رو متوجه ميكنه

tux-world
چهارشنبه 05 بهمن 1390, 00:21 صبح
باز هم به مشکل خوردم:
میخوام نام کلاس و نام پایه رو به این صورت در بیارم که :کد پایه ای از لیست پایه با کد پایه ای از لیست کلاس که با هم برابر هستند رو نشون بده

#1054 - Unknown column 'liste_kelas.code_paye' in 'where clause
SELECT `name_kelas`
FROM `liste_kelas` INEER
JOIN `liste_paye` ON `liste_paye`.`code_paye`
WHERE `liste_paye`.`code_paye` = `liste_kelas`.`code_paye`
LIMIT 0 , 30

Reza1607
چهارشنبه 05 بهمن 1390, 00:34 صبح
امكانش هست اسامي فيلدهاي هر دو جدول رو بذارين

Reza1607
چهارشنبه 05 بهمن 1390, 00:36 صبح
كوئري رو به اين صورت تغيير بدين
SELECT `name_kelas`
FROM `liste_kelas` INEER
JOIN `liste_paye` ON
`liste_paye`.`code_
paye`
=`liste_kelas`.`code_
paye`