Задавайте вопросы, мы ответим
Вы не зашли.
Здравствуйте всем,
Как можно составить запрос:
Каждая строка поле «account» имеет свою таблицу .И нужно выбрать суммы из соответствующих таблиц.
60 - table1
61 – table2
62 – table3
SELECT id,account,names,IF(account=' 62 ',(SELECT SUM(balance1) FROM table3 ),0) as sum FROM accounts a;
См. рис1
Заранее благодарен!
Неактивен
Вложенный if ?
Неактивен
Как правильно написать чтоб каждый поле account сделал выборку из своих таблиц???
Неактивен
IF(account=' 62 ',(SELECT SUM(balance1) FROM table3 ),if(account=' 61 ',...)) ?
Неактивен
Такой вариант тоже подходит просто у меня будет много account и хотелось бы какую - нибудь функцию создать
Неактивен
Такой вариант работает:
SELECT account,names,IF(account=' 62 ',(SELECT SUM(balance1) FROM clients62 ),if(account='71',(Select SUM(balance1) from accable71 ),if(account='51',(Select SUM(balance1) from bank_lst51 ),if(account='52',(Select SUM(balance1) from bank_lst52 ),if(account='62',(Select SUM(balance1) from clients62 ),if(account='70',(Select SUM(balance1) from employs70 ),0))))) ) as balance1 FROM finindex.accounts a;
А если создать таблицу с 2 колонками :
------------------------
' номер ' имя таблицы '
------------------------'
' 61 ' table1 '
' 62 ' table2 '
' 71 ' table3 '
' .... ' ........
..................................
Если ли вариант в этом ... Чтобы вместо account='62' поставить account =(Select номер from ...) ?
Неактивен