Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.04.2019, 12:57   #11
alex14788
Пользователь
 
Регистрация: 02.04.2019
Сообщений: 13
По умолчанию

Структура таблицы users:
Field Type Null Key Default Extra
id int(11) NO PRI NULL auto_increment
ip tinytext NO NULL
name varchar(64) NO UNI NULL
passwd tinytext NO NULL
grp tinyint(4) unsigned NO 0
mid int(10) unsigned NO 0
contract tinytext NO NULL
contract_date int(10) unsigned NO NULL
state char(3) NO
auth enum('no','on','ong','off','0','1', '2','3','4','5'... NO NULL
balance float(10,2) NO 0.00
money float(6,2) NO 0.00
limit_balance float(6,2) NO 0.00
block_if_limit tinyint(4) NO 0
sortip int(11) NO MUL 0
modify_time int(11) NO 0
fio tinytext NO NULL
srvs int(11) unsigned NO 0
paket smallint(5) unsigned NO 1
next_paket smallint(5) unsigned NO 0
paket3 smallint(5) unsigned NO 0
next_paket3 smallint(5) unsigned NO NULL
start_day tinyint(4) NO 0
discount tinyint(4) NO 0
hops mediumint(9) NO 0
cstate int(11) NO 0
cstate_time int(10) unsigned NO NULL
comment text NO NULL
lstate tinyint(4) NO 0
detail_traf tinyint(4) NO 0

Структура таблицы dopvalues:
Field Type Null Key Default Extra
line_id int(10) unsigned NO PRI NULL auto_increment
parent_id int(10) unsigned NO MUL NULL
dopfield_id smallint(5) unsigned NO NULL
field_value text NO NULL
admin_id smallint(5) unsigned NO NULL
time int(10) unsigned NO NULL
revision int(10) unsigned NO MUL NULL
alex14788 вне форума Ответить с цитированием
Старый 02.04.2019, 13:05   #12
alex14788
Пользователь
 
Регистрация: 02.04.2019
Сообщений: 13
По умолчанию

Вот структура в формате jpg
alex14788 вне форума Ответить с цитированием
Старый 02.04.2019, 13:11   #13
alex14788
Пользователь
 
Регистрация: 02.04.2019
Сообщений: 13
По умолчанию

Вот структура
Изображения
Тип файла: jpg dopvalues.jpg (41.2 Кб, 62 просмотров)
Тип файла: jpg users.jpg (114.8 Кб, 60 просмотров)
alex14788 вне форума Ответить с цитированием
Старый 02.04.2019, 13:16   #14
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

По ходу так если с dopfield_id=9 правильно понял
Код:
select users.contract, users.fio, dopvalues.field_value
from users
  LEFT join dopvalues on dopvalues.parent_id=users.id and dopvalues.dopfield_id=9
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 02.04.2019, 13:33   #15
alex14788
Пользователь
 
Регистрация: 02.04.2019
Сообщений: 13
По умолчанию

Спасибо работает. Была правка номеров. Как вывести конкретно последней ревизии. Куда можно вставить запрос max revision. И как это вставить в csv файл?
alex14788 вне форума Ответить с цитированием
Старый 02.04.2019, 13:55   #16
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

По быстрому так, может и проще можно
Код:
select users.contract, users.fio, D.field_value
from users
  LEFT JOIN (SELECT D1.parent_id,MAX(D1.revision) AS revision FROM dopvalues D1 WHERE D1.dopfield_id=9 GROUP BY D1.parent_id) D2 ON D2.parent_id=users.id)
  LEFT join dopvalues D on D.parent_id=D2.parent_id and D.revision=D2.revision AND D.dopfield_id=9
Как получить csv х.з.

ЗЫ если добавить признак актуальных данных, то точно проще будет )
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 02.04.2019 в 14:12.
Аватар вне форума Ответить с цитированием
Старый 02.04.2019, 16:07   #17
alex14788
Пользователь
 
Регистрация: 02.04.2019
Сообщений: 13
По умолчанию

Выдает ошибку
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') LEFT join dopvalues D on D.parent_id=D2.parent_id and D.revision=D2.revision' at line 3
alex14788 вне форума Ответить с цитированием
Старый 02.04.2019, 16:12   #18
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Убери там скобку лишнюю перед вторым left join
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 02.04.2019, 17:05   #19
alex14788
Пользователь
 
Регистрация: 02.04.2019
Сообщений: 13
По умолчанию

Спасибо. Работает.
alex14788 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выборка из двух таблиц, по сопоставлениях из третьей lawliet93 SQL, базы данных 2 27.03.2013 18:50
Выборка и объединение двух таблиц. Maikroft Microsoft Office Access 4 25.01.2012 23:46
Выборка из двух таблиц с сортировкой silvestr SQL, базы данных 2 23.04.2011 01:38
Выборка из таблиц Kingdom_Reborn Помощь студентам 1 22.11.2010 13:05
Выборка из двух таблиц MSD SQL, базы данных 15 11.11.2010 00:58