نمایش خروجی از دیتابیس دستور innerjoin با ستون تکراری
سلام و عرض ادب
3 جدول دارم که با دستور innerjoin خروجی گرفتم
$sql = " SELECT ps_product.*, ps_category_lang.*, ps_product_lang.* FROM ps_product INNER JOIN ps_category_lang ON ps_category_lang.id_category = ps_product.id_category_default INNER JOIN ps_product_lang ON ps_product_lang.id_product = ps_product.id_product ORDER BY `ps_product_lang`.`id_product` DESC LIMIT 0,5 ";
فعلا به تمام ستون های همه جداول دسترسی دارم
ولی در دو جدول دو ستون تکراری هست
نام ستون link_rewrite در دو جدول وجود دارد
با دستور زیر توسط php چاپ نشد
row["ps_category_lang.link_rewrite"] $row["ps_product_lang.link_rewrite"]
با این دستور هم فقط یک ستون شناسایی میکنه
$row["link_rewrite"]
نمیخوام نام ستون تغییر کنه
لطفا راهنمائی فرمائید
با تشکر
4 پاسخ
نام مستعار یا همون Alias یه نامی هست که شما به یه ستون میدید:
SELECT [Name] AS [Full Name], [Password] AS [User Password] FROM Users
نامی که بعد از AS جلوی نام ستون نوشته شده همون نام مستعار یا Alias هست.
دوست عزیز، شما دارید میگید که دو ستون هم نام، شما باید زمان گرفتن کوئری این دو ستون همنام رو با دو نام متفاوت مشخص کنید تا تو برنامتون بتونید مقادیر رو بخونید.
من همه موارد درست پیش رفتم ولی خطا میده
بدون قرار دادن نام مستعار sql زیر بخوبی اجرا میشه
SELECT ps_product.id_product, ps_product.id_category_default, ps_category_lang.id_category, ps_category_lang.link_rewrite FROM ps_product INNER JOIN ps_category_lang ON ps_category_lang.id_category = ps_product.id_category_default LIMIT 0,5
ولی وقتی نام مستعار میدم خطای زیر میده
SELECT ps_product.id_product, ps_product.id_category_default, ps_category_lang.id_category, ps_category_lang.link_rewrite AS ps_category_lang.link_rewrite_cat FROM ps_product INNER JOIN ps_category_lang ON ps_category_lang.id_category = ps_product.id_category_default LIMIT 0,5
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '.linkrewritecat
FROM ps_product
INNER JOIN pscategorylang ON pscategory' at line 1
البته بررسی که کردم در قالب نمونه ساده میشه نام مستعار داد, یعنی موقعی که innerjoin نمیکنم , ولی وقتی نام جدول با عبارت . نقطه به ستون میچسبه و میخوام نام مستعار بدم خطا میده(درج نام مستعار درحالت innerjoin فک کنم متفاوت باشه؟)
ممنون از راهنمایی
ولی من دارم رو جداول پرستاشاپ کار میکنم و خروجی میگیرم
به همین خاطر نمیتونم دستکاری کنم
یک جایی نوشته بود از نام مستعار باید استفاده کرد که متوجه نشدم چطور با sql ادغامش کنم