我尝试使用 order by union 对结果进行排序,但它与我在使用 order by 并集排序文档中阅读的以下代码的输出相同,但没有给出所需的结果。即在QTableWidget中显示排序后的结果 这是代码。
任何帮助将不胜感激。
query = "SELECT company_name_e,direction_e,GROUP_CONCAT(phone_number),prod_description_e,address.branch_e,kifle_ketema_name_e,sefer_name_e,kebele,city_name_e,house_no FROM company INNER JOIN company_address ON company.company_id = company_address.company_id INNER JOIN address ON company_address.address_id = address.address_id LEFT JOIN addr_phone ON address.address_id = addr_phone.address_id LEFT JOIN phone ON addr_phone.phone_id = phone.phone_id INNER JOIN add_keb ON company_address.address_id = add_keb.address_id INNER JOIN kebele ON add_keb.kebele_id = kebele.kebele_id INNER JOIN kifle_ketema ON kebele.kifle_ketema_id = kifle_ketema.kifle_ketema_id INNER JOIN add_sefer ON company_address.address_id = add_sefer.address_id INNER JOIN sefer ON add_sefer.sefer_id = sefer.sefer_id INNER JOIN city ON kifle_ketema.city_id = city.city_id where company_name_e LIKE %s group by company_name_e,direction_e,prod_description_e,address.branch_e,kifle_ketema_name_e,sefer_name_e,kebele,city_name_e,house_no order by (company_name_e LIKE %s) desc"
cursor.execute(query,('%'+cname+'%',cname+'%'))
records=cursor.fetchall()
query1 = "SELECT company_name_e,direction_e,GROUP_CONCAT(phone_number),prod_description_e,address.branch_e,kifle_ketema_name_e,sefer_name_e,kebele,city_name_e,house_no FROM company INNER JOIN flat ON company.company_id = flat.company_id INNER JOIN building ON flat.building_id = building.building_id INNER JOIN address ON building.address_id = address.address_id LEFT JOIN flat_phone ON flat.flat_id =flat_phone.flat_id LEFT JOIN phone ON flat_phone.phone_id = phone.phone_id INNER JOIN add_keb ON address.address_id = add_keb.address_id INNER JOIN kebele ON add_keb.kebele_id = kebele.kebele_id INNER JOIN kifle_ketema ON kebele.kifle_ketema_id = kifle_ketema.kifle_ketema_id INNER JOIN add_sefer ON address.address_id = add_sefer.address_id INNER JOIN sefer ON add_sefer.sefer_id = sefer.sefer_id INNER JOIN city ON kifle_ketema.city_id = city.city_id where company_name_e like %s group by company_name_e,direction_e,prod_description_e,address.branch_e,kifle_ketema_name_e,sefer_name_e,kebele,city_name_e,house_no order by (company_name_e LIKE %s) desc"
cursor1.execute(query1,('%'+cname+'%',cname+'%'))
records1=cursor1.fetchall()
self.tableWidget.setColumnCount(1)
self.tableWidget.setColumnWidth(0,1500)
#self.tableWidget.setRowCount(10000)
self.tableWidget.setRowCount(len(records)*10 + len(records1)*10)
vhe=["Company Name","Direction","Phone Number","Description","Branches","SubCity","NeighbourHood","Kebele","City","House no"]
self.tableWidget.horizontalHeader().setVisible(False)
self.tableWidget.verticalHeader().setVisible(True)
tableindex = 0
for row in records:
for i in range(10):
item = QTableWidgetItem(vhe[i])
self.tableWidget.setVerticalHeaderItem(tableindex,item)
self.tableWidget.setItem(tableindex,0,QTableWidgetItem(row[i]))
tableindex=tableindex+1
for row1 in records1:
for i in range(10):
item1 = QTableWidgetItem(vhe[i])
self.tableWidget.setVerticalHeaderItem(tableindex,item1)
self.tableWidget.setItem(tableindex,0,QTableWidgetItem(row1[i]))
tableindex=tableindex+1
我尝试使用联合排序,但结果没有排序,它是随机的