{"id":1874,"date":"2015-01-16T08:00:47","date_gmt":"2015-01-16T06:00:47","guid":{"rendered":"http:\/\/soci.hu\/blog\/?p=1874"},"modified":"2015-01-14T16:53:37","modified_gmt":"2015-01-14T14:53:37","slug":"sql-fejtoro-6","status":"publish","type":"post","link":"https:\/\/soci.hu\/blog\/index.php\/2015\/01\/16\/sql-fejtoro-6\/","title":{"rendered":"SQL fejt\u00f6r\u0151 6."},"content":{"rendered":"<p>Ez a fejt\u00f6r\u0151 most sokkal nehezebb lesz. Adottak sz\u00e1ml\u00e1k \u00e9s sz\u00e1mla t\u00e9telek. A sz\u00e1mla t\u00e9telek k\u00fcl\u00f6nb\u00f6z\u0151 \u00c1FA kateg\u00f3ri\u00e1kba tartoznak. Elveszett viszont, hogy melyik t\u00e9tel melyik \u00c1FA kateg\u00f3ri\u00e1ba tartozik. Csak \u00f6sszes\u00edtve tudjuk, hogy egy adott sz\u00e1ml\u00e1n mennyi volt az egyes \u00c1FA t\u00e9tel\u0171 term\u00e9kek \u00f6ssz \u00e9rt\u00e9ke. A feladat vissza\u00e1ll\u00edtani minden egyes t\u00e9tel \u00c1FA kulcs\u00e1t. Az adatok \u00fagy vannak \u00f6sszerakva, hogy a feladat egy\u00e9rtelm\u0171en megoldhat\u00f3 legyen.<\/p>\n<p>Bemeneti adatok:<\/p>\n<p>Sz\u00e1ml\u00e1k:<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nID\tSzamlaszam\tOsszAr\tAdo\r\n1\tSzamla1\t500.00\tAfa27\r\n2\tSzamla1\t300.00\tAfa16\r\n3\tSzamla2\t4000.00\tAfa38\r\n<\/pre>\n<p>Sz\u00e1mla t\u00e9telek:<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nID\tSzamlaszam\tAr\r\n1\tSzamla1\t20.00\r\n2\tSzamla1\t111.00\r\n3\tSzamla1\t250.00\r\n4\tSzamla1\t20.00\r\n5\tSzamla1\t15.00\r\n6\tSzamla1\t189.00\r\n7\tSzamla1\t100.00\r\n8\tSzamla1\t95.00\r\n9\tSzamla2\t1000.00\r\n10\tSzamla2\t3000.00\r\n<\/pre>\n<p>Elv\u00e1rt kimenet, Ad\u00f3, sz\u00e1mlasz\u00e1m \u00e9s id szerint van rendezve:<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nid\tSzamlaszam\tAr\tAdo\r\n2\tSzamla1\t111.00\tAfa16\r\n6\tSzamla1\t189.00\tAfa16\r\n1\tSzamla1\t20.00\tAfa27\r\n3\tSzamla1\t250.00\tAfa27\r\n4\tSzamla1\t20.00\tAfa27\r\n5\tSzamla1\t15.00\tAfa27\r\n7\tSzamla1\t100.00\tAfa27\r\n8\tSzamla1\t95.00\tAfa27\r\n9\tSzamla2\t1000.00\tAfa38\r\n10\tSzamla2\t3000.00\tAfa38\r\n<\/pre>\n<p>T\u00f6bbf\u00e9le megold\u00e1s is adhat\u00f3, mindegyik legal\u00e1bb 15 soros.<\/p>\n<pre class=\"brush: sql; title: ; notranslate\" title=\"\">\r\nuse tempdb;\r\n\r\nIF OBJECT_ID('Szamlatetel','U') IS NOT NULL BEGIN\r\n  DROP TABLE Szamlatetel\r\nEND \r\nGO\r\n\r\nCREATE TABLE Szamlatetel(\r\n\t&#x5B;ID] &#x5B;INT] IDENTITY(1,1) NOT NULL,\r\n\tSzamlaszam &#x5B;VARCHAR](20) NOT NULL,\r\n\tAr &#x5B;DECIMAL](18,2) NOT NULL\t\r\n)\r\nGO\r\n\r\nINSERT INTO Szamlatetel(Szamlaszam,Ar) \r\nSELECT 'Szamla1', 20 UNION ALL\r\nSELECT 'Szamla1', 111 UNION ALL\r\nSELECT 'Szamla1', 250 UNION ALL\r\nSELECT 'Szamla1', 20  UNION ALL\r\nSELECT 'Szamla1', 15  UNION ALL\r\nSELECT 'Szamla1', 189 UNION ALL\r\nSELECT 'Szamla1', 100 UNION ALL\r\nSELECT 'Szamla1', 95 UNION ALL\r\nSELECT 'Szamla2', 1000 UNION ALL\r\nSELECT 'Szamla2', 3000\r\ngo\r\n\r\nIF OBJECT_ID('Szamlafej','U') IS NOT NULL BEGIN\r\n  DROP TABLE Szamlafej\r\nEND \r\nGO\r\n\r\nCREATE TABLE Szamlafej(\r\n\t&#x5B;ID] &#x5B;INT] IDENTITY(1,1) NOT NULL,\r\n\tSzamlaszam &#x5B;VARCHAR](20) NOT NULL,\r\n\tOsszAr &#x5B;DECIMAL](18,2) NOT NULL DEFAULT(0),\r\n\t&#x5B;Ado] &#x5B;VARCHAR](5) NOT NULL\r\n)\r\nGO\r\n\r\nINSERT INTO Szamlafej(Szamlaszam, OsszAr, Ado) \r\nSELECT 'Szamla1', 500, 'Afa27' UNION ALL\r\nSELECT 'Szamla1', 300, 'Afa16' UNION ALL\r\nSELECT 'Szamla2', 4000,  'Afa38'\r\n\r\nSELECT * FROM Szamlafej;\r\nGO\r\nSELECT * FROM Szamlatetel order by id;\r\nGO\r\n<\/pre>\n<p>A megfejt\u00e9seket szok\u00e1s szerint kommentben v\u00e1rom, amelyeket ez\u00fattal a feladat neh\u00e9zs\u00e9ge miatt 5 nap m\u00falva engedek ki.<\/p>\n<p>A <a href=\"http:\/\/soci.hu\/TddCourse.aspx\">Test Driven Development tanfolyam<\/a> k\u00f6vetkez\u0151 felvon\u00e1sa febru\u00e1r kilencedik\u00e9n lesz, szeretettel v\u00e1rom az \u00e9rdekl\u0151d\u0151ket.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ez a fejt\u00f6r\u0151 most sokkal nehezebb lesz. Adottak sz\u00e1ml\u00e1k \u00e9s sz\u00e1mla t\u00e9telek. A sz\u00e1mla t\u00e9telek k\u00fcl\u00f6nb\u00f6z\u0151 \u00c1FA kateg\u00f3ri\u00e1kba tartoznak. Elveszett viszont, hogy&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,4,93],"tags":[],"class_list":["post-1874","post","type-post","status-publish","format-standard","hentry","category-adatbazisok","category-szakmai-elet","category-teaser"],"_links":{"self":[{"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/posts\/1874","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=1874"}],"version-history":[{"count":3,"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/posts\/1874\/revisions"}],"predecessor-version":[{"id":1877,"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/posts\/1874\/revisions\/1877"}],"wp:attachment":[{"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=1874"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=1874"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=1874"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}