Спільнота для обміну досвідом між користувачами програм УкрБланк, УкрСклад, УкрЗарплата

Наши программы => УкрСклад => Тема розпочата: Хімік від Липень 27, 2024, 17:29:42

Назва: Назва клієнта у SQL-запиті
Відправлено: Хімік від Липень 27, 2024, 17:29:42
Добривечір.
Намагаюсь SQL-запитом витягнути інформацію, у кого з клієнтів які товари з серійними номерами. Скрпт знайшов на форумі, додав у SELECT строку "client_id", і це працює.
Не можу вивести назву клієнта. "client_name", "client.name" не спрацьовує.
Наперед дякую за поради.
Назва: Re: Назва клієнта у SQL-запиті
Відправлено: molotokk від Липень 27, 2024, 18:18:32
можливо c.fio?
Назва: Re: Назва клієнта у SQL-запиті
Відправлено: Хімік від Липень 27, 2024, 19:08:59
Цитата: molotokk від Липень 27, 2024, 18:18:32можливо c.fio?
ніт :(
Назва: Re: Назва клієнта у SQL-запиті
Відправлено: AGSoft від Липень 27, 2024, 23:54:36
Як що запит з таблиці клієнтів, то там це поле зветься FIO. Як що ми говоримо про запит з таблиці видаткових або ще якихось документів, то там це поле зветься CLIENT. Скоріш за все вам потрібен другий варіант
Назва: Re: Назва клієнта у SQL-запиті
Відправлено: Хімік від Липень 28, 2024, 08:05:18
CLIENT теж не працює.
Якби ж знати, звідки береться.
SELECT
  tn.name,
  tn.kod,
  client_id,
  ts.*,
  dt.name_rus,
  vd.*
FROM
  tovar_serials ts
    LEFT JOIN doc_types dt ON ts.doc_type_id = dt.num,
  tovar_name tn,
  view_alldocs vd
WHERE
  ts.tovar_id = tn.num AND
  ts.doc_type_id = vd.doc_type AND
  ts.doc_id = vd.num
Назва: Re: Назва клієнта у SQL-запиті
Відправлено: admin від Липень 29, 2024, 11:10:58
Цитата: Хімік від Липень 28, 2024, 08:05:18CLIENT теж не працює.
Якби ж знати, звідки береться.
SELECT
  tn.name,
  tn.kod,
  client_id,
  ts.*,
  dt.name_rus,
  vd.*
FROM
  tovar_serials ts
    LEFT JOIN doc_types dt ON ts.doc_type_id = dt.num,
  tovar_name tn,
  view_alldocs vd
WHERE
  ts.tovar_id = tn.num AND
  ts.doc_type_id = vd.doc_type AND
  ts.doc_id = vd.num

Треба під'єднати таблицю
    LEFT JOIN client c ON (vd.client_id = c.num)і виводити клієнта так:
  c.fio,
Ось так має працювати ваш код:

SELECT
  tn.name,
  tn.kod,
  c.fio,
  ts.*,
  dt.name_rus,
  vd.*
FROM
  tovar_serials ts
    LEFT JOIN doc_types dt ON ts.doc_type_id = dt.num,
  tovar_name tn,
  view_alldocs vd
    LEFT JOIN client c ON (vd.client_id = c.num)
WHERE
  ts.tovar_id = tn.num AND
  ts.doc_type_id = vd.doc_type AND
  ts.doc_id = vd.num
Назва: Re: Назва клієнта у SQL-запиті
Відправлено: Хімік від Липень 30, 2024, 17:20:15
Дякую.