Я новичок в объединениях. Я хочу получить сумму долгов и доходов на mysql. Но я столкнулся с проблемой. Проблема в сумме работает более чем нормально. Вот запросMysql Несколько Left Join And Sum не работают правильно
Select uyeler.*,
sum(uye_gider.tutar) as gider,
sum(gelir.tutar) as gelir
from uyeler
LEFT JOIN gelir on gelir.uye=uyeler.id
LEFT JOIN uye_gider on uye_gider.uye=uyeler.id
group by uyeler.id
Первое:
Если я не пишу группу, это дает мне только первую строку.
Это работает так?
Главная проблема:
у меня есть:
-2 строку 'Üye' (пользователя)
-3 строки 'gelir' (доход)
- 1 строка «uye_gider» (долг) составляет 25
Но когда я выполнить этот запрос значение gider является 75.
Я думаю, что его сумма («uye_gider.tutar») работает в 3 раза из-за «» gelir.tutar
Что я делаю неправильно?
------Tables------
CREATE TABLE IF NOT EXISTS `gelir` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`tarih` date NOT NULL,
`uye` int(11) NOT NULL,
`tutar` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS `uyeler` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`ad` varchar(15) NOT NULL,
`soyad` varchar(15) NOT NULL,
`tc` varchar(11) NOT NULL,
`dogum` date NOT NULL,
`cep` int(11) NOT NULL,
`eposta` varchar(50) NOT NULL,
`is` int(11) NOT NULL,
`daire` int(11) NOT NULL,
`kan` varchar(5) NOT NULL,
`web` varchar(12) NOT NULL,
`webpw` varchar(100) NOT NULL,
`tur` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS `uye_gider` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`uye` int(11) NOT NULL,
`tutar` float NOT NULL,
`gider` int(11) NOT NULL,
`aciklama` text COLLATE utf8_bin,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;
---End Tables---
Я голосую, чтобы закрыть это как неясно, что вы просите. Просьба предоставить некоторые примеры данных и/или SQL Fidlde, которые показывают ожидаемые результаты. – AdamMc331
Добавлены таблицы. ожидаемый результат для гидера - 25. Но я получил 75. –