Я пытаюсь получить контактную информацию из одной таблицы («SP_Cont»), а затем, основываясь на коде графства (CID), получить фактическое имя графства (" CTitle ") из таблицы« Округа ».Новый запрос в запросе MySql на основе исходного результата запроса
SELECT
CONCAT_WS(', ',NULLIF(SP_Cont.Address1, ''),NULLIF(SP_Cont.Address2, ''),NULLIF(SP_Cont.Address3, ''),NULLIF(SP_Cont.Address4, ''),NULLIF(SP_Cont.Address5, ''),NULLIF(SP_Cont.City, ''),NULLIF(Postcode, '')) AS Address, SP_Cont.CID, SP_Cont.RevTot,
Counties.CTitle
FROM
SP_Cont
INNER JOIN
Counties
ON
Counties.CID=SP_Cont.CID
WHERE
SP_Cont.SPCode = "26"
То, что я хочу достичь, это адрес, который выглядит следующим образом ...
Адрес1, Адрес2, Address3, город, графство, индекс.
Я знаю, что выше, не будет делать это, но, по крайней мере, мне не придется запускать другой запрос в пределах страницы PHP добавить округа в настоящее время я:
if (!empty($BAPrint['CID'])) {
$CQuery = mysql_query ("SELECT CTitle FROM Counties USE INDEX (CIDT) WHERE CID = ".$BAPrint['CID']);
$CPrint = mysql_fetch_array ($CQuery);
$Address .= ", ".$CPrint['CTitle'];
}
Так будет выглядят так:
Адрес1, Address2, Address3, Город, Почтовый индекс, Графство.
Есть ли способ, чтобы получить желаемый формат адреса
ADDRESS1, ADDRESS2, Address3, города, округа, Почтовый индекс.?
Другая проблема заключается в том, что SP_Cont не содержит кода CID, после чего сбой сценария. Есть ли в любом случае использование CONCAT_WS, если существует NULL CID, сценарий все еще работает, но без названия округа?
Приветствия G
ваш запрос выглядит хорошо, вы можете добавить все необходимые поля CONCAT_WS. ЕСЛИ вы не получите никаких результатов, потому что у вас есть один после применения фильтров. ваши фильтры являются условием внутреннего соединения и где: «Counties.CID = SP_Cont.CID и SP_Cont.SPCode = 26» – AdrianBR
@AdrianBR Вы правы. Я только что использовал SPCode, который, как я знаю, имеет код CID, и он отобразил 1 результат. Проблема, как ясно здесь, если нет кода CID, скрипт не может произвести никакого результата. Есть ли способ concat_ws всех полей, о которых я упоминал выше, даже если код CID пуст/NULL? Приветствую вас за ваш комментарий. – WOWDesign
, если у вас нет кода CID, вы не можете присоединиться к своей таблице графства. Вы можете изменить соединение на левое соединение, поэтому результаты из вашей таблицы SP_CONT будут опубликованы независимо. Кроме того, ifnull, а не nullif – AdrianBR