silveraura25

Alexander_Lawrence_Ryhm-4_KT_5._oktoober

Oct 5th, 2017
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.39 KB | None | 0 0
  1. Veebilehel on raamitud piltide tellimiseks vaja sisestada järgmiseid andmeid: inimese e-mail, raami tüüp, selle värv. Kui oled oma tellimuse kinnitanud kinnitus nuppu kaudu, siis tuuakse ekraani ette tellimuse number.
  2. Loon tabeli
  3. CREATE TABLE raamid(
  4. epost VARCHAR(30) PRIMARY KEY, //PRIMARY KEY võib siit eemaldada, sest see ei lase ühel inimesel mitu raamiga pilti tellida
  5. raami_tüüp VARCHAR(30),
  6. raami_värv VARCHAR(30)
  7. );
  8. Sisestan andmed
  9. INSERT INTO raamid VALUES ("juku.juur@hot.ee", "ruut", "sinine");
  10. INSERT INTO raamid VALUES ("kati.mets@hot.ee", "ristkülik", "kuldne");
  11. INSERT INTO raamid VALUES ("siim.piim@hot.ee", "ruut", "valge");
  12. SELECT * FROM raamid;
  13. +------------------+--------------+-------------+
  14. | epost | raami_tüüp | raami_värv |
  15. +------------------+--------------+-------------+
  16. | juku.juur@hot.ee | ruut | must |
  17. | kati.mets@hot.ee | ristkülik | kuldne |
  18. | siim.piim@hot.ee | ruut | valge |
  19. +------------------+--------------+-------------+
  20.  
  21. Nende tellimusnumbri loomiseks annan neile numbrid
  22. SET@nr=0
  23. SELECT @nr:=@nr+1, epost, raami_tüüp, raami_värv FROM raamid;
  24. +------------+------------------+--------------+-------------+
  25. | @nr:=@nr+1 | epost | raami_tüüp | raami_värv |
  26. +------------+------------------+--------------+-------------+
  27. | 1 | juku.juur@hot.ee | ruut | must |
  28. | 2 | kati.mets@hot.ee | ristkülik | kuldne |
  29. | 3 | siim.piim@hot.ee | ruut | valge |
  30. +------------+------------------+--------------+-------------+
  31. Selles tabelis sisestakse tellimusnumber, aga et inimene saab teada, mis number tal on, tuuakse talle ette tema tellimuse kirjeldus koos numbriga. Ehk tegelikult sisestakse numbreid iga kord kui keegi teeb tellimuse. Kõigile tellimusele ei anta samal ajal numbrit.
  32. SELECT @nr:=@nr+1, epost, raami_tüüp, raami_värv FROM raamid WHERE epost="juku.juur@hot.ee";
  33.  
  34. +------------+------------------+--------------+-------------+
  35. | @nr:=@nr+1 | epost | raami_tüüp | raami_värv |
  36. +------------+------------------+--------------+-------------+
  37. | 5 | juku.juur@hot.ee | ruut | must |
  38. +------------+------------------+--------------+-------------+
  39. See peaks olema iga tellimuse tulemus.
  40. Veebilehel on olemas rubriik nimega “Minu tellimused”, kuhu sisestad oma e-maili ja tellimuse numbri. Juhatakse teid siis tabelisse kuhu on märgitud sinu tellimuse nõuded ning mis osa tellimusest on valmis. On olemas lahtrid meisterdatud ja värvitud raamide jaoks, pildi valmis märkimine ning kas tulemus pakitud tulemus pakitud.
  41. Koostan tabeli tellimuse staatuse kohta
  42. CREATE TABLE tellimus(
  43. number INT,
  44. epost VARCHAR(30) PRIMARY KEY, //siin sama, mis eelnevas tabeli koostamises öeldi selle kohta
  45. raami_tüüp VARCHAR(30),
  46. raami_värv VARCHAR(30),
  47. raamid_tegemata VARCHAR(30),
  48. raamid_värvimata VARCHAR(30),
  49. raamid_meisterdatud VARCHAR(30),
  50. raamid_värvitud VARCHAR(30),
  51. pildid_valmis VARCHAR(30),
  52. tulemus_pakitud VARCHAR(30)
  53. );
  54. Ja nüüd sisestan väärtused
  55. INSERT INTO tellimus VALUES (1, "juku.juur@hot.ee", "ruut", "must", "ei", "ei", "jah", "jah", "jah", "jah");
  56. INSERT INTO tellimus VALUES (2, "kati.mets@hot.ee", "ristkülik", "kuldne", "ei", "jah", "jah", "ei", "ei", "ei");
  57. INSERT INTO tellimus VALUES (3, "siim.piim@hot.ee", "ruut", "valge", "ei", "ei", "ei", "ei", "ei", "ei");
  58.  
  59. +--------+------------------+--------------+-------------+---------------------+------------------+---------------+-----------------+
  60. | number | epost | raami_tüüp | raami_värv | raamid_meisterdatud | raamid_värvitud | pildid_valmis | tulemus_pakitud |
  61. +--------+------------------+--------------+-------------+---------------------+------------------+---------------+-----------------+
  62. | 1 | juku.juur@hot.ee | ruut | must | jah | jah | jah | jah |
  63. | 2 | kati.mets@hot.ee | ristkülik | kuldne | jah | ei | ei | ei |
  64. | 3 | siim.piim@hot.ee | ruut | valge | ei | ei | ei | ei |
  65. +--------+------------------+--------------+-------------+---------------------+------------------+---------------+-----------------+
  66. Siin näitab, et Jukul kõik korras, Kati oma veel pooleli ja Siimul pole hakatud tegemagi.
  67.  
  68. Statistika laused.
  69. Kontrollin mitu tellimust igal inimesel on
  70. SELECT epost, COUNT(*) AS kogus FROM raamid GROUP BY epost;
  71. +------------------+-------+
  72. | epost | kogus |
  73. +------------------+-------+
  74. | juku.juur@hot.ee | 1 |
  75. | kati.mets@hot.ee | 1 |
  76. | siim.piim@hot.ee | 1 |
  77. +------------------+-------+
  78. Kõigil üks.
  79. Nüüd kontrollin mitu tööd kuulub igale värvile
  80. SELECT raami_värv, COUNT(*) AS kogus FROM raamid GROUP BY raami_värv;
  81. +-------------+-------+
  82. | raami_värv | kogus |
  83. +-------------+-------+
  84. | kuldne | 1 |
  85. | must | 1 |
  86. | valge | 1 |
  87. +-------------+-------+
  88. Raamide tüübid järjestatuna tellitud koguse kaupa
  89. SELECT * FROM
  90. (SELECT raami_tüüp, COUNT(*) AS kogus FROM raamid GROUP BY raami_tüüp) AS abitabel
  91. ORDER BY raami_tüüp;
  92. +--------------+-------+
  93. | raami_tüüp | kogus |
  94. +--------------+-------+
  95. | ristkülik | 1 |
  96. | ruut | 2 |
  97. +--------------+-------+
Add Comment
Please, Sign In to add comment