powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Разобраться с Inner Join из множества таблиц
9 сообщений из 9, страница 1 из 1
Разобраться с Inner Join из множества таблиц
    #38807331
rebuy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите разобраться с Inner Join из множества таблиц:

[SRC sql]
SELECT
identities_contact.name AS `ФИО`,
identities_contacttype.name AS `Тип`,
identities_contactfield.label AS `Параметр`,
identities_contactvalue.value AS `Значение`
FROM identities_contact
INNER JOIN identities_contacttype ON identities_contacttype.object_ptr_id = identities_contact.contact_type_id
INNER JOIN identities_contacttype_fields ON identities_contacttype.object_ptr_id = identities_contacttype_fields.contacttype_id
INNER JOIN identities_contactfield ON identities_contactfield.object_ptr_id = identities_contacttype_fields.contactfield_id
INNER JOIN identities_contactvalue ON identities_contact.object_ptr_id = identities_contactvalue.id
WHERE identities_contact.related_user_id IS NULL
[/SRC]

Хочу получить таблицу:
ФИО | ТИП | ПАРАМЕТР | ЗНАЧЕНИЕ
ИВАНОВ | КЛИЕНТ | АДРЕС | ул.Мира 1
ИВАНОВ | КЛИЕНТ | ТЕЛЕФОН | 123456789

Структуру таблиц прикладываю.

Данные:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
identities_contact:
24	21	Company		1
78	23	Иванов		Null

identities_contactvalue:
11	16	78	ул.Мира 1 
18	18	78	123456789

identities_contactfield:
16	phone	АДРЕС	phone	0	
18	phone	ТЕЛЕФОН	phone	0

identities_contacttype:	
23	Person	person	персональный

identities_contacttype_fields: (таблица для связывания групп полей и типов контактов)
9	22	19
10	23	16
11	23	17
12	23	18
13	23	19
14	23	20	
...
Рейтинг: 0 / 0
Разобраться с Inner Join из множества таблиц
    #38807332
rebuy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Забыл прикрепить саму структуру таблиц:
...
Рейтинг: 0 / 0
Разобраться с Inner Join из множества таблиц
    #38807333
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А проблема то в чем? Что у вас не получается?
...
Рейтинг: 0 / 0
Разобраться с Inner Join из множества таблиц
    #38807334
rebuy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SharuPoNemnoguА проблема то в чем? Что у вас не получается?

Выводит пустой результат вместо:
ФИО | ТИП | ПАРАМЕТР | ЗНАЧЕНИЕ
ИВАНОВ | КЛИЕНТ | АДРЕС | ул.Мира 1
ИВАНОВ | КЛИЕНТ | ТЕЛЕФОН | 123456789
...
Рейтинг: 0 / 0
Разобраться с Inner Join из множества таблиц
    #38807337
rebuy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Немного по отлаживая наткнулся на проблему, она где-то в последнем join.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT
	identities_contact.`name` AS `ФИО`,
	identities_contacttype.`name` AS `Тип`,
	identities_contactfield.label AS `Параметр`
	# identities_contactvalue.`value` AS `Значение`
FROM identities_contact
	INNER JOIN identities_contacttype ON identities_contacttype.object_ptr_id = identities_contact.contact_type_id
	INNER JOIN identities_contacttype_fields ON identities_contacttype.object_ptr_id = identities_contacttype_fields.contacttype_id
	INNER JOIN identities_contactfield ON identities_contactfield.object_ptr_id = identities_contacttype_fields.contactfield_id
	# INNER JOIN identities_contactvalue ON identities_contact.object_ptr_id = identities_contactvalue.id
WHERE identities_contact.related_user_id IS NULL



Иванов Person АДРЕС
Иванов Person ТЕЛЕФОН
...
Рейтинг: 0 / 0
Разобраться с Inner Join из множества таблиц
    #38807341
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может так?
Код: sql
1.
INNER JOIN identities_contactvalue ON identities_contact.object_ptr_id = identities_contactvalue.contact_id
...
Рейтинг: 0 / 0
Разобраться с Inner Join из множества таблиц
    #38807399
rebuy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SharuPoNemnoguМожет так?
Код: sql
1.
INNER JOIN identities_contactvalue ON identities_contact.object_ptr_id = identities_contactvalue.contact_id



:) нужно больше спать:)
нечто похожее, но оно все равно работает с ошибкой!
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Иванов Иван Иванович	Person	Address	ул. Мира
Иванов Иван Иванович	Person	Address	
Иванов Иван Иванович	Person	Address	123456789
Иванов Иван Иванович	Person	Address	
Иванов Иван Иванович	Person	Address	
Иванов Иван Иванович	Person	Phone	ул. Мира
Иванов Иван Иванович	Person	Phone	
Иванов Иван Иванович	Person	Phone	123456789
Иванов Иван Иванович	Person	Phone	
Иванов Иван Иванович	Person	Phone	
...
Рейтинг: 0 / 0
Разобраться с Inner Join из множества таблиц
    #38807430
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
group by..
...
Рейтинг: 0 / 0
Разобраться с Inner Join из множества таблиц
    #38807448
rebuy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SharuPoNemnogugroup by..

Нет не работает!
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Разобраться с Inner Join из множества таблиц
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]