<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Πρώτα Βήματα - Βάσεις δεδομένων</title><link>https://www.dotnetzone.gr:443/cs/forums/73/ShowForum.aspx</link><description>Για όσους κάνουν τα πρώτα τους βήματα στην Microsoft Access ή τον SQL Server, ή γενικότερα στη θεωρία βάσεων δεδομένων.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: μπωρω να εκτελέσω μια 2η stored procedure μεσα απο μια αλλαη και να επιστρεψει τιμη σε πεδιο της πρωτης?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/62775.aspx</link><pubDate>Sun, 30 Jan 2011 02:27:49 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:62775</guid><dc:creator>Johnnyxp64</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/62775.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=62775</wfw:commentRss><description>εξερετικο παραδειγμα - λυση αν και δεν χρειαζοταν να κανεις και τους πινακες αφου υπαρχουν οι πινακες με τις τιμες, ουτε πολυ σκεψη για την χρεωση ανα ωρα διοτι θα εφαρμωστει και σε ενοικιασει αυτοκινητων αυτο!&lt;div&gt;οποτε οσες μερες λεει ο πελατης τοσες θα&amp;nbsp;χρεωθεί!&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;σε ευχαριστω παρα πολυ&lt;/b&gt;,&lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-21.gif" alt="Yes" /&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;και αυτο που&amp;nbsp;διαπιστώνω&amp;nbsp;ειναι οτι για καποιον που δεν εχει ξαναγραψει Stored Procedure (παρα μονο 2 select few years back) σιγουρα το να κανει αυτο δεν ειναι υποθεση λιγων ωρων!!!!&amp;nbsp;&lt;/div&gt;</description></item><item><title>Απ: μπωρω να εκτελέσω μια 2η stored procedure μεσα απο μια αλλαη και να επιστρεψει τιμη σε πεδιο της πρωτης?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/62771.aspx</link><pubDate>Sat, 29 Jan 2011 08:39:27 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:62771</guid><dc:creator>spaceman</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/62771.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=62771</wfw:commentRss><description>&lt;P&gt;Το παρακατω ισως φανει χρησιμο.&lt;BR&gt;Σημειωση: Ο τροπος υπολογισμου της τιμης εξαρταται απο την εκαστοτε προσεγγιση/ιδιαιτεροτητα (πχ. χρεωση της ημερας αφιξης κ οχι της αναχωρησης, χρεωση κ των δυο, χρεωση της ημερας αναχωρισης κ οχι αφιξης, χρεωση της προηγουμενης ημερας οταν η αφιξη ειναι πριν τις 10 το πρωι κτλ).&lt;BR&gt;Το παραδειγμα παρακατω χρεωνει την ημερα αφιξης κ οχι την ημερα αναχωρησης, ανεξαρτητα απο την ωρα αφιξης.&lt;BR&gt;Αυτο που αξιζει να σημειωθει, ειναι οτι για τον υπολογισμο της τιμης, υπολογιζονται ολες οι ημερες μεταξυ checkin -checkout.&amp;nbsp;Για καθε μερα, λαμβανεται η τιμη κ προστιθεται (SUM)&amp;nbsp;με τις τιμες ολων των ημερων.&lt;BR&gt;Υπαρχει περιπτωση για μια συγκεκριμενη ημερα, να&amp;nbsp;υπαρχουν δυο χρεωσεις (overlapping price periods per&amp;nbsp;room)&amp;nbsp;κ το παραδειγμα θα&amp;nbsp;χρεωσει&amp;nbsp;"διπλη, τριπλη κοκ" τιμη αναλογα με τον αριθμο των&amp;nbsp;&amp;nbsp;περιοδων που αλληλο-επικαλυπτονται (σε αυτην την περιπτωση, μια πιθανη προσεγγιση θα ηταν να χρεωθει η πιο ακριβη τιμη).&lt;BR&gt;Οπως και να 'χει, το παραδειγμα δειχνει την προσεγγιση κ οχι τους υπολογισμους.&lt;BR&gt;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:black;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:teal;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;--create numbers helper function, limited to smallint input&lt;/SPAN&gt;
&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;CREATE&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;FUNCTION&lt;/SPAN&gt; dbo.Numbers_test(@n &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;SMALLINT&lt;/SPAN&gt;) 
RETURNS &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;TABLE&lt;/SPAN&gt;
&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt;
&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;RETURN&lt;/SPAN&gt;
(
	&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;WITH&lt;/SPAN&gt;
	  T0  &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; (&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;SELECT&lt;/SPAN&gt; 1 &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; c &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:silver;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;ALL&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;SELECT&lt;/SPAN&gt; 1),
	  T1  &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; (&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;SELECT&lt;/SPAN&gt; 1 &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; c &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;FROM&lt;/SPAN&gt; T0 &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; A &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:silver;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;CROSS&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:silver;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;JOIN&lt;/SPAN&gt; T0 &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; B),
	  T2  &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; (&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;SELECT&lt;/SPAN&gt; 1 &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; c &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;FROM&lt;/SPAN&gt; T1 &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; A &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:silver;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;CROSS&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:silver;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;JOIN&lt;/SPAN&gt; T1 &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; B),
	  T3  &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; (&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;SELECT&lt;/SPAN&gt; 1 &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; c &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;FROM&lt;/SPAN&gt; T2 &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; A &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:silver;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;CROSS&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:silver;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;JOIN&lt;/SPAN&gt; T2 &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; B),
	  T4  &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; (&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;SELECT&lt;/SPAN&gt; 1 &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; c &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;FROM&lt;/SPAN&gt; T3 &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; A &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:silver;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;CROSS&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:silver;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;JOIN&lt;/SPAN&gt; T3 &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; B),
	  Nums &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; (&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;SELECT&lt;/SPAN&gt; ROW_NUMBER() &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;OVER&lt;/SPAN&gt;(&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;ORDER&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;BY&lt;/SPAN&gt; (&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;SELECT&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:silver;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;NULL&lt;/SPAN&gt;)) &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; n &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;FROM&lt;/SPAN&gt; T4)
	&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;SELECT&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;TOP&lt;/SPAN&gt; (&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;CAST&lt;/SPAN&gt;(@n &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;BIGINT&lt;/SPAN&gt;)) n 
	&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;FROM&lt;/SPAN&gt; Nums 
	&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;ORDER&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;BY&lt;/SPAN&gt; n
)

GO

&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:teal;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;--create customers table&lt;/SPAN&gt;
&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;CREATE&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;TABLE&lt;/SPAN&gt; dbo.customers_test(CustID &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;INT&lt;/SPAN&gt;, CustName &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;NVARCHAR&lt;/SPAN&gt;(100), RoomID &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;INT&lt;/SPAN&gt;, CheckIn_Date &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DATETIME&lt;/SPAN&gt;, CheckOut_Date &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DATETIME&lt;/SPAN&gt;)
GO
&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:teal;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;--fill in some customers&lt;/SPAN&gt;
&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;INSERT&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;INTO&lt;/SPAN&gt; dbo.customers_test(CustID, CustName, RoomID, CheckIn_Date, CheckOut_Date)
&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;VALUES&lt;/SPAN&gt;(1, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'pelatis 1'&lt;/SPAN&gt;, 100, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'20110201'&lt;/SPAN&gt;, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'20110220'&lt;/SPAN&gt;),
	(2, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'pelatis 2'&lt;/SPAN&gt;, 200, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'20110301'&lt;/SPAN&gt;, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'20110315'&lt;/SPAN&gt;),
	(3, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'pelatis 3'&lt;/SPAN&gt;, 300, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'20110401'&lt;/SPAN&gt;, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'20110410'&lt;/SPAN&gt;),
	(4, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'pelatis 4'&lt;/SPAN&gt;, 400, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'20110101'&lt;/SPAN&gt;, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'20110107'&lt;/SPAN&gt;),
	(5, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'pelatis 5'&lt;/SPAN&gt;, 100, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'20110110'&lt;/SPAN&gt;, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'20110107'&lt;/SPAN&gt;), &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:teal;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;--invalid reservation (checkout &amp;lt; checkin)&lt;/SPAN&gt;
	(6, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'pelatis 6'&lt;/SPAN&gt;, 100, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'20110115'&lt;/SPAN&gt;, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'20110115'&lt;/SPAN&gt;) &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:teal;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;--invalid reservation (checkout &amp;lt; checkin)&lt;/SPAN&gt;
GO
	
&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:teal;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;--create room prices table&lt;/SPAN&gt;
&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;CREATE&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;TABLE&lt;/SPAN&gt; dbo.RoomPrices_test(RoomID &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;INT&lt;/SPAN&gt;, SeasonStart &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DATETIME&lt;/SPAN&gt;, SeasonEnd &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DATETIME&lt;/SPAN&gt;, Price &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;MONEY&lt;/SPAN&gt;)
GO
&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:teal;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;--fill in some prices&lt;/SPAN&gt;
&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;INSERT&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;INTO&lt;/SPAN&gt; dbo.RoomPrices_test(RoomID, SeasonStart, SeasonEnd, Price)
&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;VALUES&lt;/SPAN&gt; (100, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'20110101'&lt;/SPAN&gt;, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'20110131'&lt;/SPAN&gt;, 50),	
	(100, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'20110201'&lt;/SPAN&gt;, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'20110210'&lt;/SPAN&gt;, 60),
	(100, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'20110217'&lt;/SPAN&gt;, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'20110228'&lt;/SPAN&gt;, 100), &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:teal;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;--there is no price period for room 100 between 20110211 and 20110216&lt;/SPAN&gt;
	(200, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'20110301'&lt;/SPAN&gt;, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'20110305'&lt;/SPAN&gt;, 200),
	(200, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'20110306'&lt;/SPAN&gt;, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'20110311'&lt;/SPAN&gt;, 300),
	(200, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'20110312'&lt;/SPAN&gt;, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'20110316'&lt;/SPAN&gt;, 50),
	(300, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'20110101'&lt;/SPAN&gt;, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'20110531'&lt;/SPAN&gt;, 80)
	&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:teal;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;--no room prices for roomid = 400&lt;/SPAN&gt;

GO


&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;select&lt;/SPAN&gt; * &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;from&lt;/SPAN&gt; dbo.customers_test
&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;select&lt;/SPAN&gt; * &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;from&lt;/SPAN&gt; dbo.RoomPrices_test
GO
&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:teal;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;--example of dates that will be charged&lt;/SPAN&gt;
&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DECLARE&lt;/SPAN&gt; @checkin_date &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DATETIME&lt;/SPAN&gt;, @checkout_date &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DATETIME&lt;/SPAN&gt;

&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;SELECT&lt;/SPAN&gt; @checkin_date = &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'20110101'&lt;/SPAN&gt;, @checkout_date = &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'20110120'&lt;/SPAN&gt;

&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;SELECT&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'charge dates for checkin:'&lt;/SPAN&gt; + &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;CONVERT&lt;/SPAN&gt;(&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;VARCHAR&lt;/SPAN&gt;(8), @checkin_date, 112) + &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;' and checkout:'&lt;/SPAN&gt; + &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;CONVERT&lt;/SPAN&gt;(&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;VARCHAR&lt;/SPAN&gt;(8), @checkout_date, 112)

&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;SELECT&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DATEADD&lt;/SPAN&gt;(dd, n-1, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DATEADD&lt;/SPAN&gt;(dd, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DATEDIFF&lt;/SPAN&gt;(dd, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'19000101'&lt;/SPAN&gt;, @checkin_date), &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'19000101'&lt;/SPAN&gt;)) &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; chrg_date
&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;FROM&lt;/SPAN&gt; dbo.Numbers_test(&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DATEDIFF&lt;/SPAN&gt;(dd, @checkin_date, @checkout_date))

GO


&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:teal;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;--inline table valued function&lt;/SPAN&gt;
&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;CREATE&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;FUNCTION&lt;/SPAN&gt; dbo.RoomPricing1(@RoomID &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;INT&lt;/SPAN&gt;, @CheckIn_Date &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DATETIME&lt;/SPAN&gt;, @CheckOut_Date &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DATETIME&lt;/SPAN&gt;)	
RETURNS &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;TABLE&lt;/SPAN&gt;
&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt;
&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;RETURN&lt;/SPAN&gt;
(
	&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;SELECT&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;SUM&lt;/SPAN&gt;(rp.Price) &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; TotalPrice, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;MAX&lt;/SPAN&gt;(&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;CASE&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;WHEN&lt;/SPAN&gt; rp.RoomID &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;IS&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:silver;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;NULL&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;THEN&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;CAST&lt;/SPAN&gt;(1 &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;TINYINT&lt;/SPAN&gt;) &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;ELSE&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;CAST&lt;/SPAN&gt;(0 &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;TINYINT&lt;/SPAN&gt;) &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;END&lt;/SPAN&gt;) &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; missing_prices
	&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;FROM&lt;/SPAN&gt; 
		(	
			&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;SELECT&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DATEADD&lt;/SPAN&gt;(dd, n-1, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DATEADD&lt;/SPAN&gt;(dd, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DATEDIFF&lt;/SPAN&gt;(dd, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'19000101'&lt;/SPAN&gt;, @checkin_date), &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'19000101'&lt;/SPAN&gt;)) &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; chrg_date
			&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;FROM&lt;/SPAN&gt; dbo.Numbers_test(&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DATEDIFF&lt;/SPAN&gt;(dd, @checkin_date, @checkout_date))
			&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;WHERE&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DATEDIFF&lt;/SPAN&gt;(dd, @checkin_date, @checkout_date) &amp;gt; 0
			&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:silver;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;ALL&lt;/SPAN&gt;
			&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;SELECT&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DATEADD&lt;/SPAN&gt;(dd, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DATEDIFF&lt;/SPAN&gt;(dd, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'19000101'&lt;/SPAN&gt;, @checkin_date), &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'19000101'&lt;/SPAN&gt;)
			&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;WHERE&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DATEDIFF&lt;/SPAN&gt;(dd, @checkout_date, @checkin_date) = 0
		) &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; charge_dates
		&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:teal;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;--pay attention: multiple price periods for one day are not handled&lt;/SPAN&gt;
		&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;LEFT&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:silver;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;JOIN&lt;/SPAN&gt; dbo.RoomPrices_test &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; rp &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;ON&lt;/SPAN&gt; rp.RoomID = @RoomID &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:silver;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AND&lt;/SPAN&gt; charge_dates.chrg_date &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:silver;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;BETWEEN&lt;/SPAN&gt; rp.SeasonStart &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:silver;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AND&lt;/SPAN&gt; rp.SeasonEnd
)

GO

&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:teal;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;--scalar function&lt;/SPAN&gt;
&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;CREATE&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;FUNCTION&lt;/SPAN&gt; dbo.RoomPricing2(@RoomID &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;INT&lt;/SPAN&gt;, @CheckIn_Date &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DATETIME&lt;/SPAN&gt;, @CheckOut_Date &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DATETIME&lt;/SPAN&gt;)	
RETURNS &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;VARCHAR&lt;/SPAN&gt;(20)
&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt;
&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;BEGIN&lt;/SPAN&gt;
	&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DECLARE&lt;/SPAN&gt; @price &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;VARCHAR&lt;/SPAN&gt;(20), @missing_prices &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;TINYINT&lt;/SPAN&gt;
	
	&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;SELECT&lt;/SPAN&gt; @price = &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;SUM&lt;/SPAN&gt;(rp.Price), @missing_prices = &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;MAX&lt;/SPAN&gt;(&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;CASE&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;WHEN&lt;/SPAN&gt; rp.RoomID &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;IS&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:silver;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;NULL&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;THEN&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;CAST&lt;/SPAN&gt;(1 &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;TINYINT&lt;/SPAN&gt;) &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;ELSE&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;CAST&lt;/SPAN&gt;(0 &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;TINYINT&lt;/SPAN&gt;) &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;END&lt;/SPAN&gt;)
	&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;FROM&lt;/SPAN&gt; 
		(	
			&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;SELECT&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DATEADD&lt;/SPAN&gt;(dd, n-1, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DATEADD&lt;/SPAN&gt;(dd, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DATEDIFF&lt;/SPAN&gt;(dd, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'19000101'&lt;/SPAN&gt;, @checkin_date), &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'19000101'&lt;/SPAN&gt;)) &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; chrg_date
			&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;FROM&lt;/SPAN&gt; dbo.Numbers_test(&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DATEDIFF&lt;/SPAN&gt;(dd, @checkin_date, @checkout_date))
			&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;WHERE&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DATEDIFF&lt;/SPAN&gt;(dd, @checkin_date, @checkout_date) &amp;gt; 0
			&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;UNION&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:silver;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;ALL&lt;/SPAN&gt;
			&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;SELECT&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DATEADD&lt;/SPAN&gt;(dd, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DATEDIFF&lt;/SPAN&gt;(dd, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'19000101'&lt;/SPAN&gt;, @checkin_date), &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'19000101'&lt;/SPAN&gt;)
			&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;WHERE&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DATEDIFF&lt;/SPAN&gt;(dd, @checkout_date, @checkin_date) = 0
		) &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; charge_dates
		&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:teal;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;--pay attention: multiple price periods for one day are not handled&lt;/SPAN&gt;
		&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;LEFT&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:silver;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;JOIN&lt;/SPAN&gt; dbo.RoomPrices_test &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; rp &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;ON&lt;/SPAN&gt; rp.RoomID = @RoomID &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:silver;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AND&lt;/SPAN&gt; charge_dates.chrg_date &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:silver;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;BETWEEN&lt;/SPAN&gt; rp.SeasonStart &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:silver;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AND&lt;/SPAN&gt; rp.SeasonEnd

	&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;SET&lt;/SPAN&gt; @price = &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;CASE&lt;/SPAN&gt; @missing_prices &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;WHEN&lt;/SPAN&gt; 1 &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;THEN&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'!!!!'&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;ELSE&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;''&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;END&lt;/SPAN&gt; + &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:fuchsia;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;ISNULL&lt;/SPAN&gt;(@price, &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:red;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;'no price'&lt;/SPAN&gt;)
	&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;RETURN&lt;/SPAN&gt;(@price)
&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;END&lt;/SPAN&gt;

GO


&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:teal;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;--use inline table valued udf&lt;/SPAN&gt;
&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;SELECT&lt;/SPAN&gt; c.*, rp.*
&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;FROM&lt;/SPAN&gt; dbo.customers_test &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; c
	&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:silver;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;CROSS&lt;/SPAN&gt; APPLY dbo.RoomPricing1(c.RoomID, c.CheckIn_Date, c.CheckOut_Date) &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; rp &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:teal;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;--cross apply as dbo.RoomPricing1 returns always οne row (aggregates are used)&lt;/SPAN&gt;


&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:teal;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;--use scalar udf&lt;/SPAN&gt;
&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;SELECT&lt;/SPAN&gt; c.*, dbo.RoomPricing2(c.RoomID, c.CheckIn_Date, c.CheckOut_Date) &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; price
&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;FROM&lt;/SPAN&gt; dbo.customers_test &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;AS&lt;/SPAN&gt; c


&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:teal;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;--cleanup&lt;/SPAN&gt;
&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DROP&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;FUNCTION&lt;/SPAN&gt; dbo.RoomPricing1
&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DROP&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;FUNCTION&lt;/SPAN&gt; dbo.RoomPricing2
&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DROP&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;FUNCTION&lt;/SPAN&gt; dbo.Numbers_test
&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DROP&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;TABLE&lt;/SPAN&gt; dbo.customers_test
&lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;DROP&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR:transparent;FONT-FAMILY:Courier New;COLOR:blue;FONT-SIZE:11px;FONT-WEIGHT:normal;"&gt;TABLE&lt;/SPAN&gt; dbo.roomprices_test&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;--ΗΤΗ--&lt;/P&gt;</description></item><item><title>Απ: μπωρω να εκτελέσω μια 2η stored procedure μεσα απο μια αλλαη και να επιστρεψει τιμη σε πεδιο της πρωτης?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/62760.aspx</link><pubDate>Fri, 28 Jan 2011 22:31:16 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:62760</guid><dc:creator>Johnnyxp64</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/62760.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=62760</wfw:commentRss><description>οχι δεν ειναι το θεμα μια ηλικια&lt;div&gt;απλα το παραδειγμα ηταν αυτο!(ατυχες μαλλον)&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;οκ ας παμε σε κατι πραγματικα κοντα σε αυτο που πρεπει να γινει!&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;καταρχας σορρυ για το μπερδεμα!&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;θα παω στο τι θελουμε να ειναι το τελικο αποτελεσμα!&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;θελουμε ενα grid με πεδια που μεσα θα εχει 10 στηλες!&lt;/div&gt;&lt;div&gt;9 απο αυτες ειναι στανταρ και τα περνεις με ενα απλο select from where&lt;/div&gt;&lt;div&gt;αλλα το αλλο 1 πρεπει να παρει τιμη ποιο δυναμικα, τιμη που θα&amp;nbsp;προκειψει&amp;nbsp;απο ενα αλλο select και loop!(φανταζομαι)&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;περα απο την θεωρεια! το προβλημα ειναι:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;εχω μια βαση που εχει δωματια ξενοδοζειου σε ενα πινακα (Rooms)&lt;/div&gt;&lt;div&gt;και εχω σε ενα αλλο πινακα τομοκαταλογο ανα season!!!! (SeasonPrices)&lt;/div&gt;&lt;div&gt;τα δεδομενα και το structure του 2ου πινακα ειναι ως εξεις!&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;RoomID-------SeasonStart-------------SeasonEnd-----------DayPrice&lt;/div&gt;&lt;div&gt;666 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1/7/2011 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 30/7/2011 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;50&lt;/div&gt;&lt;div&gt;666 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1/8/2011 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 30/8/2011 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;60&lt;/div&gt;&lt;div&gt;333 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1/7/2011 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 30/7/2011 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;30&lt;/div&gt;&lt;div&gt;333 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1/8/2011 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 30/8/2011 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;50&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;ελπιζω&amp;nbsp;μέχρι&amp;nbsp;εδω να ειναι κατνοητο&lt;/div&gt;&lt;div&gt;στο&amp;nbsp;πρώτο&amp;nbsp;query με τα 9 απλα columns εχουμε περασει και 2 ημ/νιες που ο πελατης θελει να ερθει και να φυγει απο το ξενοδοχειο!&lt;/div&gt;&lt;div&gt;ετσι πολυ απλα σε πρωτη φαση βλεπουμε με ενα απλο where αν το δωματειο ειναι free τοτε,&lt;/div&gt;&lt;div&gt;αλλα αυτο που δεν μπορω να κανω ειναι πως να μπορεσω την ωρα που ερχοντε τα 9 απλα πεδια να ερθει ακομα 1 ακομα το οποιο θα εχει ψαξει (φανταζομαι ενα αλλο 2 query sp) που θα φερενει στο τελος την ΣΥΝΟΛΙΚΗ τιμή των ημερων, βαση των ημερ/νιων που ζητησε ο πελατης!&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;προσοχη στο πανω&amp;nbsp;πίνακα&amp;nbsp;ειναι τιμες ανα ημερα για εκεινει την περιοδο!&lt;/div&gt;&lt;div&gt;αν εγω του δωσω παραμετρ ημ/νιες αφιξης και αναχρησεις που πιανει 2 ή περισοττρες περιοδους&lt;/div&gt;&lt;div&gt;θελω για καθε μέρα (ας πουμε οτι ζητησα 1/7/2011 ως 15/8/2011) αρα περιπου 45μερες! πρεπει λοιπον καπως να δω πρωτα μια μια την καθε μερα σε ποια περιοδο ανοικει!&lt;/div&gt;&lt;div&gt;μετα να παρω καπου στην μνημη σε μια μεταβλητη αυτη την τιμη και να παω στις επωμενες, και να αθροιζω τις τιμες ανα ημερα! ετσι στο τελος θα εχω&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;ολες τις τιμες ανα ημερα σε οποια περιοδο ανοικει η κρατηση μου και θα εχω αυτο το 1 δυναμικο comun με το SUM αυτων των τιμων στο τελικο grid!&lt;/div&gt;&lt;div&gt;αυτο ειναι το project αυτο χρειαζομαι να βρω τροπο να κανω sp!!!!&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;help!&lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-6.gif" alt="Sad" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;p.s λιγο παραπλευρη ερωτησουλα αμα εχεις κανει ενα&amp;nbsp;declare @Import table () και με ολα του τα πεδια ειναι οκ και με insert το γεμισες με δεδομενα ολα καλα.. πως στην ευχη το εμφανιζεις στο grid? πως το "εκτελεις" να πω δεν ξερω και ποια ειναι η ορολογια!?????&amp;nbsp;&lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-4.gif" alt="Stick out tongue" /&gt; να δω αυτα τα δεδομενα θελω.&lt;/div&gt;</description></item><item><title>Απ: μπωρω να εκτελέσω μια 2η stored procedure μεσα απο μια αλλαη και να επιστρεψει τιμη σε πεδιο της πρωτης?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/62757.aspx</link><pubDate>Fri, 28 Jan 2011 21:00:02 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:62757</guid><dc:creator>cap</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/62757.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=62757</wfw:commentRss><description>Εχμ. Ομολογώ οτι δυσκολεύομαι να καταλάβω τι ακριβώς ζητάς. Μέσα σε ένα post έχεις αναμείξει δύο(?) ζητούμενα, ένα πιθανό τρόπο επίλυσης (ο οποίος όμως μπορεί να μην κάνει apply σε αυτό που πραγματικά θέλεις να κάνεις - εξαρτάται από το πόσο κατανοητό θα γίνει αυτό που θέλεις να επιτύχεις), και ψευδοκώδικα που κάνει "κάτι".&amp;nbsp;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Αν αυτό το "κάτι" που θέλεις να κάνεις είναι τελικά απλά ένα date calculation βασισμένο σε πεδία ενός υπάρχοντα πίνακα, τότε τόσο ο τίτλος όλου του post όσο και η συζήτηση για sps και udfs μπορεί να μην έχει νόημα. Αν υποθέσουμε ότι όντως ο πίνακας ονομάζεται customers, υπάρχει ένα πεδίο born που καταχωρείται η ημ/νία γέννησης του πελάτη και εσύ θέλεις να βρίσκεις την τρέχουσα ηλικία του, μπορείς να το κάνεις ακόμα και με μια view ή με μια απλή SP, χρησιμοποιώντας την datediff και υπολογίζοντας τη διαφορά μεταξύ σημερινής ημ/νίας και ημ/νίας γέννησης. Π.χ.:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;SELECT Name, Phone, Born,&amp;nbsp;DATEDIFF(YEAR,born, GETDATE()) as Age&lt;/div&gt;&lt;div&gt;FROM Customers&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Θα σου φέρει την ηλικία (σε έτη) του κάθε πελάτη στο πεδίο Age. Αν και αυτό δεν είναι απόλυτα ορθό, μια και εγώ που είμαι γεννημένος 29/12/1973 θα εμφανιστώ σαν 38 ετών ενώ είμαι 37. Πιό ορθό θα ήταν:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;SELECT Name, Phone, Born,&amp;nbsp;CONVERT(int,DATEDIFF(day,@born, GETDATE()) / 365) as Age&lt;/div&gt;&lt;div&gt;FROM Customers&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Οπου υπολογίζω τη διαφορά σε μέρες, διαιρώ δια 365 (ή δια 360), και κάνω convert όλο το αποτέλεσμα σε integer.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Αν θέλω να έχω ακριβέστατο υπολογισμό ηλικίας βέβαια, πρέπει να υπολογίσω δίσεκτα κλπ, οπότε το πράγμα χοντραίνει.&lt;/div&gt;</description></item><item><title>Απ: μπωρω να εκτελέσω μια 2η stored procedure μεσα απο μια αλλαη και να επιστρεψει τιμη σε πεδιο της πρωτης?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/62756.aspx</link><pubDate>Fri, 28 Jan 2011 20:23:10 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:62756</guid><dc:creator>Johnnyxp64</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/62756.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=62756</wfw:commentRss><description>κατι πηγε να γινει αλλα αλλες απορειες ανεβηκαν στην επιφανεια&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;πως μπορω να συνταξω το ακολουθω στο 1ο SP&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;pre&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Set&lt;/span&gt; @query = &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'SELECT customers.Name, customer.Phone, AGE AS (dbo.myscalarfunction('&lt;/span&gt;customers.birth&lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;')) from customers'&lt;/span&gt;

&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;EXECUTE&lt;/span&gt; &lt;span style="color:Brown;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;sp_executesql&lt;/span&gt; @query&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;δηλαδή&amp;nbsp;να παρει την&amp;nbsp;ημερομηνία&amp;nbsp;κάπως&amp;nbsp;την ωρα που&amp;nbsp;εκτελείτε?&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;ή ποιο "απλά" άλλη λύση&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;μπορω να φτιαξω ΟΧΙ στην βαση αλλα στην&amp;nbsp;&lt;b&gt;μνήμη&amp;nbsp;&lt;/b&gt;μια&amp;nbsp;μεταβλητή&amp;nbsp;τύπου&amp;nbsp;datatable (καπου το διαβασα ετσι)&lt;/div&gt;&lt;div&gt;να φορτωσω μεσα της δεδομένα και μετα να κανω μια loop μεσα στις&amp;nbsp;εγγραφές&amp;nbsp;τις και να τρεξω για καθε εγγραφη την 2η function και αυτη με την σηρα της να προσθεση νεα πεδια στο πρωτο datatable με values οτι υπολογισε?&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;παραδειγμα ψεβδοκωδικα (οπως περιπου ηταν σε παλιο προγραμα vb και πρεπει να γινει SP τωρα&amp;nbsp;&lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-12.gif" alt="Angry" /&gt;)&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;pre&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;@query = &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'Select Name, Phone, Born, space(10) as AGE from customers'&lt;/span&gt;
@myDT DATATABLETYPE()
&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;set&lt;/span&gt; @myDT = &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;execute&lt;/span&gt; @query

&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;declare&lt;/span&gt; @ageResult
&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;for&lt;/span&gt; i &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;as&lt;/span&gt; integer = 0 tο @myDT.records.&lt;span style="color:Fuchsia;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;count&lt;/span&gt; -1
	@myTD(i)("Age")=CurentDATE - @myTD(i)("Born")
next i&lt;/span&gt;&lt;/pre&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;μπερδεμα......ε?&lt;/div&gt;&lt;div&gt;&amp;nbsp;ευχαριστω για τις προσπαθειες παιδια ελπιζω σε καποια λύση.....&lt;/div&gt;&lt;div&gt;ανυπομωνω για τις προτασεις σας ωστε να γινει αυτο το ριμαδι!&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;</description></item><item><title>Απ: μπωρω να εκτελέσω μια 2η stored procedure μεσα απο μια αλλαη και να επιστρεψει τιμη σε πεδιο της πρωτης?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/62737.aspx</link><pubDate>Fri, 28 Jan 2011 08:57:13 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:62737</guid><dc:creator>cap</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/62737.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=62737</wfw:commentRss><description>Ναι, έχεις δίκιο. Εκ παραδρομής γράφτηκε, υπό την έννοια οτι μπορούν να χρησιμοποιηθούν inline στο εξωτερικό statement. Ομως, για να μην μπερδευτεί ο κόσμος με τις inline table-valued UDFs (που όντως υπάρχουν), ας βγάλουμε το inline από τον αρχικό ορισμό. Scalar UDFs it is.&lt;div&gt;&lt;br&gt;&lt;/div&gt;</description></item><item><title>Απ: μπωρω να εκτελέσω μια 2η stored procedure μεσα απο μια αλλαη και να επιστρεψει τιμη σε πεδιο της πρωτης?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/62736.aspx</link><pubDate>Fri, 28 Jan 2011 08:48:22 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:62736</guid><dc:creator>spaceman</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/62736.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=62736</wfw:commentRss><description>&lt;P&gt;Μια διορθωση :&amp;nbsp; &lt;STRIKE&gt;inline&lt;/STRIKE&gt; scalar user defined functions.&lt;BR&gt;Σε ολες τις εκδοσεις SQL Server μεχρι τωρα (2008 R2), δεν υπαρχουν "inline" scalar functions. Ολες οι scalar functions ειναι multistatement.&lt;/P&gt;
&lt;P&gt;--HTH--&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>Απ: μπωρω να εκτελέσω μια 2η stored procedure μεσα απο μια αλλαη και να επιστρεψει τιμη σε πεδιο της πρωτης?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/62731.aspx</link><pubDate>Fri, 28 Jan 2011 05:53:16 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:62731</guid><dc:creator>Johnnyxp64</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/62731.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=62731</wfw:commentRss><description>xmmm πολλα&amp;nbsp;υποσχόμενο&amp;nbsp;μαλλον ειναι η λυση στο προβλημα μου....&lt;div&gt;αυριο οταν γυρισω στο γραφειο θα το&amp;nbsp;δοκιμάσω&amp;nbsp;πρωι πρωι πανω στην βαση που "παιζω" σε&amp;nbsp;ευχαριστώ!&lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-2.gif" alt="Big Smile" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;ps Μονο το οτι την καλει με dbo.spname με αγχονει λιγο....δεν πρεπει να δωσω το "path" της βασεις? mydb.spname? μπορει να ρωταω και βλακεια αλλα δεν ξερω και ρωταω για να με σιγουρος.&lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;/div&gt;</description></item><item><title>Απ: μπωρω να εκτελέσω μια 2η stored procedure μεσα απο μια αλλαη και να επιστρεψει τιμη σε πεδιο της πρωτης?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/62722.aspx</link><pubDate>Fri, 28 Jan 2011 02:23:49 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:62722</guid><dc:creator>cap</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/62722.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=62722</wfw:commentRss><description>Ο πιό εύκολος τρόπος να επιτύχεις αυτό που θέλεις είναι να χρησιμοποιήσεις inline scalar user defined functions (μην σε τρομάζει το όνομα, είναι πολύ απλές).&amp;nbsp;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Δες εδώ (αλλά μην πας στις table-valued και μπερδευτείς, μόνο τις scalar):&amp;nbsp;&lt;a href="http://www.sqlteam.com/article/user-defined-functions"&gt;http://www.sqlteam.com/article/user-defined-functions&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;</description></item><item><title>μπωρω να εκτελέσω μια 2η stored procedure μεσα απο μια αλλαη και να επιστρεψει τιμη σε πεδιο της πρωτης?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/62721.aspx</link><pubDate>Fri, 28 Jan 2011 02:20:12 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:62721</guid><dc:creator>Johnnyxp64</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/62721.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=73&amp;PostID=62721</wfw:commentRss><description>καλησπερα&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;συννεχεια στον γολγοθα των stored procedures&amp;nbsp;&lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-6.gif" alt="Sad" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;εχω ενα query που εχει ως που με 3 πεδια!&lt;/div&gt;&lt;div&gt;τα 2 ειναι απο ενα πινακα αλλα το 3ο ειναι ενα πεδιο που θελω να παρει τιμες ΑΦΟΥ εκτελεστει μια αλλη function σε μια stored procedure και απο αυτη να παρω 1 μεταβλητη και να την&amp;nbsp;εισάγω&amp;nbsp;ως τιμη! πως το κανω αυτο???&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;παραδειγμα&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;sp1&lt;/div&gt;&lt;div&gt;Select Id, Name, (execute 2nd SP here) AS Age&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;sp2&lt;/div&gt;&lt;div&gt;@dateofbirth as datetime&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;current date - @dateofbirth&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;return result&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;τελείως&amp;nbsp;ψευδοκωδικας, εκτελω το 2SP στελνωντας 1 παραμετρο, την ημερ γεννησεις αυτο την περνει αφερει απο την σημερινη και θελω να&amp;nbsp;επιστρέψει&amp;nbsp;μια τιμη στο πρωτο sp μεσα στο column AGE!&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;αυτο ειναι το γενικο σκεπτικο! μια 2 sp που θα κανει πολλες και διαφορες πραξεις (-+/*) αλλα θα επιστρεψει 1 αποτελεσμα! και αυτο να ειναι στο τελικο πεδιο μεσα οταν τρεξει το 1ο sp!&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;πως μπορω να το κανω αυτο? γινεται?&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;ευχαριστω.&lt;/div&gt;</description></item></channel></rss>