Мне нужно исправить запрос и не знаю, как это сделать. на самом деле запрос этоmysql query multi table with union и limit
(SELECT qrliststgo.ordenser,qrliststgo.razon,qrliststgo.emision,qrliststgo.despacho,hitos.fecha FROM `qrliststgo`,`hitos` WHERE `qrliststgo`.`tipotransporte`='I' AND `hitos`.`idplace`=`qrliststgo`.`sigla` AND `hitos`.`guia`=`qrliststgo`.`guia`) UNION (SELECT qrlistvalpo.ordenser,qrlistvalpo.razon,qrlistvalpo.emision,qrlistvalpo.despacho,hitos.fecha FROM `qrlistvalpo`,`hitos` WHERE `tipotransporte`='I' AND `hitos`.`idplace`=`qrlistvalpo`.`sigla` AND `hitos`.`guia`=`qrlistvalpo`.`guia`) UNION (SELECT qrlistsananto.ordenser,qrlistsananto.razon,qrlistsananto.emision,qrlistsananto.despacho,hitos.fecha FROM `qrlistsananto`,`hitos` WHERE `qrlistsananto`.`tipotransporte`='I' AND `hitos`.`idplace`=`qrlistsananto`.`sigla` AND `hitos`.`guia`=`qrlistsananto`.`guia`) UNION (SELECT qrlistlocalstgo.ordenser,qrlistlocalstgo.razon,qrlistlocalstgo.emision,qrlistlocalstgo.despacho,hitos.fecha FROM `qrlistlocalstgo`,`hitos` WHERE `qrlistlocalstgo`.`tipotransporte`='I' AND `hitos`.`idplace`=`qrlistlocalstgo`.`sigla` AND `hitos`.`guia`=`qrlistlocalstgo`.`guia`) UNION (SELECT qrlistlocalvalpo.ordenser,qrlistlocalvalpo.razon,qrlistlocalvalpo.emision,qrlistlocalvalpo.despacho,hitos.fecha FROM `qrlistlocalvalpo`,`hitos` WHERE `qrlistlocalvalpo`.`tipotransporte`='I' AND `hitos`.`idplace`=`qrlistlocalvalpo`.`sigla` AND `hitos`.`guia`=`qrlistlocalvalpo`.`guia`) UNION (SELECT qrlistlocalsananto.ordenser,qrlistlocalsananto.razon,qrlistlocalsananto.emision,qrlistlocalsananto.despacho,hitos.fecha FROM `qrlistlocalsananto`,`hitos` WHERE `qrlistlocalsananto`.`tipotransporte`='I' AND `hitos`.`idplace`=`qrlistlocalsananto`.`sigla` AND `hitos`.`guia`=`qrlistlocalsananto`.`guia`)
Да, я знаю его давно, в принципе, мне нужно найти все строки из «qrliststgo», что соответствует 2 колонки с ней 2 столбцов «Hitos».
(SELECT qrliststgo.ordenser,qrliststgo.razon,qrliststgo.emision,qrliststgo.despacho,hitos.fecha FROM `qrliststgo`,`hitos` WHERE `qrliststgo`.`tipotransporte`='I' AND `hitos`.`idplace`=`qrliststgo`.`sigla` AND `hitos`.`guia`=`qrliststgo`.`guia`)
, а затем использовать UNION, чтобы сделать то же самое с другой таблицей с именем «qrlistvalpo» и «Hitos» снова.
Проблема, связанная с тем, что в «hitos» есть три строки, которые соответствуют одной строке из «qrliststgo», поэтому она «дублируется» ... 3 строки с той же информацией, кроме последней, изменился, потому что он нашел 3 результата в «hitos».
как я могу это сделать?
(мне нужно это для PHP для Excell экспорта)
Update:
Что мне нужно, показать все строки из qrlist, где есть хотя бы одна строка в Hitos, что qrlist.sigla = Hitos .idplace и qrlist.guia = hitos.guia.
Если есть результат, который соответствует совпадению, отобразите первый и пропустите остальные, а затем проверьте другой результат из qrlist.
не знаю, если я правильно объяснил
Посмотрите в 'ЛЕВЫЙ JOIN' –
да я сделал, у меня есть это' SELECT * FROM ' qrlistlocalstgo' LEFT JOIN 'hitos' ON' qrlistlocalstgo'. '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '', и результаты в 16-строчном порядке, 13 с нулевым данные по столбцам «hitos» и 3 строкам с теми же данными в части qrlist и разными данными в столбцах hitos cos i имеют 3 строки, которые соответствуют guia и sigla в qrlist guia и idplace на hitos. – Sebiche