在尝试使用PHP和MySQL中的不同条件加入多个表时,我收到以下错误。
UNION和ORDER BY的使用不正确
这是我的问题:
document.getElementById("someButtonId").click();
如何解决此错误?
答案 0 :(得分:1)
您应该仅在查询结尾处分配订单,而不是在每个选择中 并为不同表中具有相同名称的列使用适当的别名
select
b.member_id as b_member_id
,b.rest_name
,b.city
,b.proviance
,b.postal
,b.address
,b.country
,b.person
,b.mobile
,b.url
,b.status
,b.premium
,b.image
,b.business_phone_no
,b.email
,b.multiple_image
,b.latitude
,b.longitude
,b.quadrant
,d.member_id as d_member_id
,d.day_id
,d.cat_id
,d.subcat_id
,d.comment
,d.city
,d.special_images
,c.cat_id
,c.special
,sub.subcat_id
,sub.subcat_name
,sub.status
,sl.day_id
,sl.member_id
,sl.date_from
,sl.date_to
from db_restaurant_basic as b
left join db_restaurant_detail as d on b.b_member_id=d.d_member_id
left join db_category as c on d.cat_id=c.cat_id
left join db_subcategory as sub on d.subcat_id=sub.subcat_id
left join db_special_images as sl on d.day_id=sl.day_id and d.member_id=sl.member_id
where b.city='2'
and d.day_id='3'
and c.special='2'
and sl.date_from <='2016-10-26'
and sl.date_to >= '2016-10-26'
and b.status=1
and sub.status=1
and sl.date_from !=''
and sl.date_to !=''
UNION ALL
SELECT
b.member_id
,b.rest_name
,b.city
,b.proviance
,b.postal
,b.address
,b.country
,b.person
,b.mobile
,b.url
,b.status
,b.premium
,b.image
,b.business_phone_no
,b.email
,b.multiple_image
,b.latitude
,b.longitude
,b.quadrant
,d.member_id
,d.day_id
,d.cat_id
,d.subcat_id
,d.comment
,d.city
,d.special_images
,c.cat_id
,c.special
,sub.subcat_id
,sub.subcat_name
,sub.status
,sl.day_id
,sl.member_id
,sl.date_from
,sl.date_to
from db_restaurant_basic as b
left join db_restaurant_detail as d on b.member_id=d.member_id
left join db_category as c on d.cat_id=c.cat_id
left join db_subcategory as sub on d.subcat_id=sub.subcat_id
left join db_special_images as sl on d.day_id=sl.day_id and d.member_id=sl.member_id
where b.city='2'
and d.day_id='3'
and c.special='2'
and b.status=1
and sub.status=1 a
nd sl.date_from =''
and sl.date_to =''
ORDER BY b_member_id DESC