26

Re: Помогите новичку

Не вижу в чем именно проблема. Если поле в котором хранится имеет название surname, то так и выводить, как вы сделали.

27 (изменено: S3Ga, 2013-05-25 17:19:57)

Re: Помогите новичку

Я связываю два поля id_fio_custom(заказчик) и id_fio_response(ответственный) родительской таблицы(software), с одним полем surname дочерней(users).Идентификаторы у полей заказчик и ответственный разные, соответственно фамилии должны выводится разные
Я же не могу вывести так:

echo "<td>".$soft['surname']."&nbsp;</td>";
echo "<td>".$soft['surname']."&nbsp;</td>";

потому что он выведет две одинаковые фамилии,

28

Re: Помогите новичку

Пишите запрос с алиасами для полей имеющих одинаковые названия.

SELECT *, `id_fio_custom`.`surname` AS `custom_surname`, `id_fio_response`.`surname` AS `response_surname` ...

echo "<td>".$soft['custom_surname']."&nbsp;</td>";
echo "<td>".$soft['response_surname']."&nbsp;</td>";

29

Re: Помогите новичку

{$q = "SELECT *,`id_fio_custom`.`surname` AS `custom_surname`, `id_fio_response`.`surname` AS `response_surname` 
FROM `software`,`users` 
INNER JOIN `type_license` ON software.id_type_license = type_license.id 
INNER JOIN `type_purchase` ON software.id_type_purchase = type_purchase.id
INNER JOIN `users` AS u1 ON software.id_fio_custom = u1.id
INNER JOIN `users` AS u2 ON software.id_fio_response = u2.id";}

Пишет Unknown column 'id_fio_custom.surname' in 'field list'

30

Re: Помогите новичку

Если используете алиасы (`users` AS u1), то их и пишите в имени таблицы (`u1`.`surname`). Если сделать выборку одним запросом не получается, то делайте их несколько.

31

Re: Помогите новичку

Что то я не приходит мыслей как это можно сделать.Не приведёте примерчик?

32

Re: Помогите новичку

S3Ga сказал:

Что то я не приходит мыслей как это можно сделать.Не приведёте примерчик?

Пример чего?

Если надо сделать несколько запросов, то выбираем по идентификатору сперва из одной таблицы, затем из другой.

33 (изменено: S3Ga, 2013-05-26 21:07:30)

Re: Помогите новичку

Вот нашёл решение,

$q = "SELECT * FROM software s 
INNER JOIN `type_license` ON s.id_type_license = type_license.id 
INNER JOIN `type_purchase` ON s.id_type_purchase = type_purchase.id
INNER JOIN `users` AS u ON s.id_fio_response = u.id";
$result = mysql_query($q);
 while($soft = mysql_fetch_array($result))
  {
                $id_custom = $soft['id_fio_custom'];
      $a = "SELECT * FROM users WHERE id=$id_custom";
      $result2 = mysql_query($a);
      $fio_custom = mysql_fetch_array ($result2);      
echo "<td>".$soft['surname']."&nbsp;</td>";
echo "<td>".$soft['fio_custom']."&nbsp;</td>";}

Но подозреваю такой запрос жрёт очень много ресурсов

34

Re: Помогите новичку

S3Ga сказал:

Но подозреваю такой запрос жрёт очень много ресурсов

Не беспокойтесь, объединение таблиц более ресурсоемко, чем несколько отдельных запросов выбирающих данные по первичному ключу.