آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
مشکل عدم دسترسی خریداران پیشین به برخی آموزش ها برطرف شد
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

خطا در استفاده از کوئری FULL OUTER JOIN

سید روح اله حسینی  7 سال پیش  7 سال پیش
0 0

سلام و عرض ادب دوستان من کد زیر را در قسمت SQL  دیتابیس که میزنم با خطای زیر روبرو میشم :

SELECT x_customers.CustomerName, x_orders.OrderID FROM x_customers FULL OUTER JOIN x_orders ON x_customers.CustomerID=x_orders.ShipperID

Error

SQL query: Documentation

SELECT x_customers.CustomerName, x_orders.OrderID FROM x_customers FULL OUTER JOIN x_orders ON x_customers.CustomerID=x_orders.ShipperID
LIMIT 0, 25

MySQL said: Documentation

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OUTER JOIN x_orders ON x_customers.CustomerID=x_orders.ShipperID LIMIT 0, 25' at line 1

0 0
لطفا برای درج کد ها از بلاک کد استفاده کنید تا هم از چپ به راست باشن هم خانا تر باشند. (7 سال پیش)
 برای این سوال 3 پاسخ وجود دارد. مشاهده پاسخ صحیح
پاسخ به سوال 
سجاد عباسی  7 سال پیش
+2 0

 پاسخ صحیح

به چه دلیلی میخواهید از full outer join استفاده کنید در mysql این قابلیت وجود نداره میتونید از left outer join استفاده کنید یا اگر نیاز به full join دارید از کد زیر استفاده کنید:

SELECT x_customers.CustomerName, x_orders.OrderID FROM x_customers
LEFT OUTER JOIN x_orders ON x_customers.CustomerID = x_orders.ShipperID
UNION
SELECT x_customers.CustomerName, x_orders.OrderID FROM x_customers
RIGHT OUTER JOIN x_orders ON x_customers.CustomerID = x_orders.ShipperID

 

پاسخ به سوال 
+1 0

سلام خیلی خیلی تشکر درست شد

 

0 0
لطفا کد رو درست درج کنید تا به هم ریخته نباشه مثل پاسخ من. برای تشکر میتونید لایک کنید و اگه پاسخ درست بوده با زدن دکمه انتخاب پاسخ درست به تمیزی انجمن پرسش و پاسخ کمک کنید. (7 سال پیش)
پاسخ به سوال 
+1 0

1 - چگونه می توان یک  FULL OUTER JOIN در MySQL انجام داد؟
2 - آیا MYSQL از FULL OUTER JOIN پشتیبانی میکند؟
3 - قطعا در SQL دیتابیس وقتی شما بخواهید بعنوان نمونه جدول A و جدول B را اجتماع بگیرید خطای  MySQL Full Outer Join Syntax Error مواجه می شوید . این به این دلیل است که MYSQL از   Full Outer Join  پشتیبانی نمی کند .
4 - راه حل :
استفاده از کلمه کلیدی  رزرو UNION   یا UNION ALL

SELECT * FROM TableA
LEFT OUTER JOIN TableB
ON TableA.name = TableB.name
UNION
SELECT * FROM TableA
RIGHT OUTER JOIN TableB
ON TableA.name = TableB.name

نکته:

عملگر UNION تنها داده هایی را به صورت پیش فرض انتخاب می کند که از یکدیگر متمایز باشند. برای اینکه داده های تکراری را هم بیاوریم از کلید واژه ALL به همراه UNION استفاده کنید.

SELECT * FROM TableA
LEFT OUTER JOIN TableB
ON TableA.name = TableB.name
UNION ALL
SELECT * FROM TableA
RIGHT OUTER JOIN TableB
ON TableA.name = TableB.name


امیدوارم مورد استفاده قرارگرفته باشد...
وتشکر از آقای سجاد عباسی که راهنمایی ارزنده ای داشتند...
https://stackoverflow.com/questions/4796872/how-to-do-a-full-outer-join-in-mysql

 

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .