2013-03-04 4 views
0

У меня есть этот запрос,Проблемы с левым присоединиться, выводя правую колонку

$sql_sektori= "SELECT formas.*,sektor_servisi.sektori,sektor_servisi.id_sektori 
FROM formas 
LEFT JOIN sektor_servisi ON formas.sektori = sektor_servisi.id_sektori 
WHERE id=$id order by sektor_servisi.id_sektori asc"; 

Вопрос заключается в: У меня есть столбец с именем sektori, как таблица в Форме и в sektor_servisi таблицы. Теперь, мне нужно распечатать колонку sektori от стола .

Как я могу это сделать?

$row[servis_sektori.sektori] 

ответ

4

Использование псевдонимов:

SELECT formas.sektori AS f_sektori, sektor_servisis.sektori AS s_sektori 
         ^^^^^^^^^^^^       ^^^^^^^^^^^^^ 

echo $row['f_sektori'], $row['s_sektori'] 
+0

Или использовать чисто числовой выборки mode ... но с псевдонимами легче работать. – prodigitalson

+0

Это не будет работать ... SELECT, FORMAS. *, Sektor_servisi.sektori sektor_servisis.sektori AS s_sektori, sektor_servisi.id_sektori ОТ Formas LEFT JOIN sektor_servisi ON formas.sektori = sektor_servisi.id_sektori WHERE ID заказа = $ ID по sektor_servisi.id_sektori asc – pyetjegoo

+0

«не сработает» как? после того как вы сгенерировали поле, вы должны использовать псевдоним в других частях запроса, так что ваше соединение будет «... ON f_sektori = sektor_servisi.id_sektori» вместо этого. –

1

Можно псевдоним sektor_servisi.sektori колонки т.е.

$sql_sektori= "SELECT formas.*,sektor_servisi.sektori AS sektori2,sektor_servisi.id_sektori FROM formas LEFT JOIN sektor_servisi ON formas.sektori = sektor_servisi.id_sektori WHERE id=$id order by sektor_servisi.id_sektori asc"; 

Вы можете просто использовать

$row[sektori2] 
Смежные вопросы