সরাসরি প্রশ্নে চলে যাই-
ধরুন আমার দুইটা টেবিল আছে। একটা ক্রয় এর টেবিল- যার নাম table1 এবং আরেকটা বিক্রয়ের টেবিল- যার নাম table2। এখন table1 এর কলাম হচ্ছে তিনটি-
1. id (AUTO_INCREMENT)
2. item (এখা্নে আইটেমের নাম যুক্ত হবে)
3. pcs (কতো পিস আইটেম ক্রয় করলাম তার পরিমান থাকবে এখানে)
এবার table2 এর কলাম হচ্ছে তিনটি-
1. id (AUTO_INCREMENT)
2. itemid (FOREIGN KEY)
3. pcs (কতো পিস আইটেম বিক্রয় করলাম তার পরিমান থাকবে এখানে)
দুটো টেবিলের কমান্ডঃ
CREATE TABLE IF NOT EXISTS `table1` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`item` varchar(255) NOT NULL,
`pcs` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;--
-- Dumping data for table `table1`
--INSERT INTO `table1` (`id`, `item`, `pcs`) VALUES
(1, 'item1', 10),
(2, 'item2', 20),
(3, 'item1', 10),
(4, 'item2', 20),
(5, 'item3', 10),
(6, 'item4', 50);-- --------------------------------------------------------
--
-- Table structure for table `table2`
--CREATE TABLE IF NOT EXISTS `table2` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`itemid` int(11) NOT NULL,
`pcs` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;--
-- Dumping data for table `table2`
--INSERT INTO `table2` (`id`, `itemid`, `pcs`) VALUES
(1, 1, 5),
(2, 2, 5);
এখন প্রশ্ন হলো-
আমার কাছে ক্রয় এবং বিক্রি করবার পর আইটেম ওয়াইজ কি কি মাল কতোপিছ আছে আমার কাছে তা দেখবো কি করে? যেমন- ধরুন আমি table২ এ মালামাল বিক্রি করেছি item1-5pcs এবং item2-5pcs এবং আমার কাছে মালামাল থাকবে table1 এর item1 থেকে বিক্রয়ের পরিমান এবং item2 থেকে বিক্রয়ের পরিমান মাইনাস করে table1 এর সকল মালামাল এবং একই আইটেম হলে তা যোগ করবে। অথ্যাৎ আমি item1 এবং item2 দুইবার ক্রয় করেছিলাম। তাহলে এখানে প্রথমে একই গ্রুপের হলে তা যোগ করবে তারপর বিক্রয়ের মালামাল মাইনাস করবে, তারপর কতো পিছ কোন আইটেমের বর্তমানে আছে তার লিস্ট দিবে। তাহলে লিস্টটা হবে এমন-
item1 দুইবার ক্রয় করা হয়েছে। একবার ১০পিস এবং আরেকবার ১০ পিস। তাহলে টোটাল হবে ২০ পিস এবং বিক্রি করেছি ৫ পিস তাহলে থাকবে ১৫ পিস। এমন হলে সামারি দাড়াবে-
item1- 15 pcs
item2- 35 pcs
item3- 10 pcs
item4- 50 pcs
আশা করছি সমস্যাটা বুঝাতে পেরেছি।