<?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>SQL Server (και άλλες databases)</title><link>https://www.dotnetzone.gr:443/cs/forums/28/ShowForum.aspx</link><description>Θέματα που αφορούν τον SQL Server (7.0, 2000, 2005) αλλά και Oracle, Access, DB2, MySQL, κλπ.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Re: Σύνθετο ερώτημα με UNION σε Access</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/2904.aspx</link><pubDate>Sat, 18 Jun 2005 00:53:55 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:2904</guid><dc:creator>raPhaeL</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/2904.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=2904</wfw:commentRss><description>&lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;&lt;span style=""&gt;Το ΜΑΧ είναι μεταξύ των “!” και “-“ για να έρθει πρώτο το “!” αν υπάρχουν εγγραφές που τηρούν και τις δύο συνθήκες.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;&lt;span style="" lang="EN-US"&gt;Performance&lt;/span&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;span style=""&gt;με λίγα &lt;/span&gt;&lt;span style="" lang="EN-US"&gt;Data&lt;/span&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;span style=""&gt;αλλά στον &lt;/span&gt;&lt;span style="" lang="EN-US"&gt;SQL&lt;/span&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="" lang="EN-US"&gt;Server&lt;/span&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;span style=""&gt;που το δοκίμασα είχε λίγο καλύτερα αποτελέσματα από το άλλο &lt;/span&gt;&lt;span style="" lang="EN-US"&gt;Query&lt;/span&gt;&lt;span style=""&gt; (&lt;/span&gt;&lt;span style="" lang="EN-US"&gt;O&lt;/span&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="" lang="EN-US"&gt;SQL&lt;/span&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;span style=""&gt;δεν έχει &lt;/span&gt;&lt;span style="" lang="EN-US"&gt;IIF&lt;/span&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;span style=""&gt;άλλα &lt;/span&gt;&lt;span style="" lang="EN-US"&gt;CASE&lt;/span&gt;&lt;span style=""&gt;).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;font face="Tahoma" size="2"&gt;&lt;span style=""&gt;Τώρα αν έχει καλύτερα αποτελέσματα στην &lt;/span&gt;&lt;span style="" lang="EN-US"&gt;ACCESS&lt;/span&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/font&gt;&lt;span style=""&gt;&lt;font face="Tahoma" size="2"&gt;δεν ξέρω μπορείς να το δοκιμάσεις.&lt;/font&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Re: Σύνθετο ερώτημα με UNION σε Access</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/2728.aspx</link><pubDate>Tue, 14 Jun 2005 01:27:18 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:2728</guid><dc:creator>spiliot</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/2728.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=2728</wfw:commentRss><description>Ευχαριστώ και τους δύο για τις απαντήσεις σας.&lt;br /&gt; Έλλειπα τις προηγούμενες μέρες και δεν πρόλαβα να τα κοιτάξω...&lt;br /&gt; &lt;br /&gt; &lt;b&gt;&lt;span class="inlineLink"&gt;raPhaeL&lt;/span&gt;&lt;/b&gt;το MAX() γιατί ακριβώς έχει μπει; Επίσης στην access λέει στα help της jet sql να αποφεύγεται η χρήση της IIF() γιατί καθυστερεί το ερώτημα. Προτείνει (αν θυμάμαι καλά την χρήση της UNION, γι αυτό και το έκανα εγώ έτσι.</description></item><item><title>Re: Σύνθετο ερώτημα με UNION σε Access</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/2607.aspx</link><pubDate>Thu, 09 Jun 2005 21:32:33 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:2607</guid><dc:creator>raPhaeL</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/2607.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=2607</wfw:commentRss><description>&lt;font face="Tahoma" size="2"&gt;Δοκίμασε και αυτό :&lt;br /&gt; &lt;/font&gt;&lt;pre class="source"&gt;&lt;font face="Tahoma" size="2"&gt;&lt;table border="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td width="15"&gt;&lt;/td&gt;&lt;td bgcolor="lightgrey" width="15"&gt;&lt;/td&gt;&lt;td bgcolor="lightgrey"&gt;&lt;br&gt;&lt;font face="Lucida Console, Courier" size="2"&gt;&lt;br/&gt;SELECT Orders.OrderID, MAX(IIF(OrderDetails.OrderID IS NOT NULL AND BarCode.PackID=1,"!","-"))&lt;br/&gt;FROM (OrderDetails RIGHT JOIN Orders ON&lt;br/&gt;OrderDetails.OrderID=Orders.OrderID) LEFT JOIN BarCode ON&lt;br/&gt;OrderDetails.BarCodeID=BarCode.BarCodeID&lt;br/&gt;GROUP BY Orders.OrderID;&lt;br/&gt;&lt;/font&gt;&lt;br&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/font&gt;&lt;/pre&gt;&lt;font face="Tahoma" size="2"&gt;(Sorry για το copy paste απο την ACCESS).&lt;/font&gt;&lt;br /&gt; &lt;br /&gt;</description></item><item><title>Re: Σύνθετο ερώτημα με UNION σε Access</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/2599.aspx</link><pubDate>Thu, 09 Jun 2005 14:06:06 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:2599</guid><dc:creator>George J. Capnias</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/2599.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=2599</wfw:commentRss><description>&lt;p&gt;&lt;font face="Georgia" size="2"&gt;Εγώ θα έκανα το εξής:&lt;br /&gt;&lt;br /&gt;Έστω View OrderDetailsBarCode:&lt;br /&gt;&lt;font face="Courier New"&gt;SELECT OrderDetails.OrderID, OrderDetails.Quantity, Barcode.Code, Barcode.Name, Barcode.PackID FROM Barcode INNER JOIN OrderDetails ON Barcode.BarcodeID = OrderDetails.BarCodeID;&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;Το εν λόγω Query που έχεις παραπάνω να γίνει:&lt;br /&gt;&lt;font face="Courier New"&gt;SELECT OrderDetailsBarCode.OrderID, "!" AS StatusCol FROM OrderDetailsBarCode WHERE (((OrderDetailsBarCode.PackID)=1))&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;UΝΙΟΝ&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New" size="2"&gt;SELECT Orders.OrderID, "-" AS StatusCol FROM Orders WHERE (((Orders.OrderID)&amp;nbsp;NOT&amp;nbsp;IN (SELECT&amp;nbsp; a.OrderID FROM OrderDetailsBarCode a WHERE a.PackID=1)))&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Georgia" size="2"&gt;Στο πρώτο μισό του Union χρησιμοποιώ το join view αλλά στο δεύτερο μισό χρησιμοποιώ το table των orders και το μόνο που κάνω είναι να φέρω τα OrderIDs που δεν έχει φέρει το πρώτο query. Δεν έχω join στο δεύτερο&amp;nbsp;query, οπότε θα είναι πιο γρήγορο από το δικό σου το αρχικό.&lt;br /&gt;&lt;br /&gt;George J.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;</description></item><item><title>Σύνθετο ερώτημα με UNION σε Access</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/2598.aspx</link><pubDate>Thu, 09 Jun 2005 10:37:17 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:2598</guid><dc:creator>spiliot</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/2598.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=2598</wfw:commentRss><description>Πρώτο post εδώ, οπότε ελπίζω να μην κάνω κάποια βλακεία ;-)&lt;br /&gt; &lt;br /&gt; Έχω μια βάση σε access, και θέλω σε ένα combobox να εισάγω έναν αριθμό (που αντιστοιχεί σε μια παραγγελία) και δίπλα ένα θαυμαστικό αν η παραγγελία περιέχει τουλάχιστον ένα προοιόν με συγκεκριμένο κωδικό σε ένα πεδίο.&lt;br /&gt; &lt;br /&gt; Επειδή μάλλον δεν καταλάβατε, οι πίνακες είναι (όχι όλα τα πεδία)&lt;br /&gt; Orders: OrderID, OrderNumber&lt;br /&gt; OrderDetails: OrderID, BarCodeID, Quantity&lt;br /&gt; Barcode: BarcodeID, Code, Name, PackID&lt;br /&gt; &lt;br /&gt; Θέλω να μου βγάζει το OrderNumber και ένα θαυμαστικό, αν στον OrderDetails για το εκάστοτε orderID υπάρχει τουλάχιστον ένα ProductID με PackID=1&lt;br /&gt; Το χάσατε ή ακόμα εδώ;&lt;br /&gt; Εννοείται ότι οι σχέσεις έχουν οριστεί σωστά.&lt;br /&gt; &lt;br /&gt; Προς το παρόν ο τρόπος που έχω βρει, είναι αυτός:&lt;br /&gt; &lt;br /&gt; &lt;pre class="source"&gt;&lt;table border="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td width="15"&gt;&lt;/td&gt;&lt;td bgcolor="lightgrey" width="15"&gt;&lt;/td&gt;&lt;td bgcolor="lightgrey"&gt;&lt;br&gt;&lt;font face="Lucida Console, Courier" size="2"&gt;&lt;br/&gt;SELECT Orders.OrderCode, "" AS NoUnknown&lt;br/&gt;FROM Orders&lt;br/&gt;WHERE (((Orders.OrderCode) Not In (SELECT Orders.OrderCode&lt;br/&gt;FROM Orders INNER JOIN (BarCode INNER JOIN OrderDetails ON BarCode.BarCodeID = OrderDetails.BarCodeID) ON Orders.OrderID = OrderDetails.OrderID&lt;br/&gt;WHERE (((BarCode.PackID)=1)))))&lt;br/&gt;&lt;br/&gt;UNION SELECT Orders.OrderCode, "!" AS HasUnknown&lt;br/&gt;FROM Orders&lt;br/&gt;WHERE (((Orders.OrderCode) In (SELECT Orders.OrderCode&lt;br/&gt;FROM Orders INNER JOIN (BarCode INNER JOIN OrderDetails ON BarCode.BarCodeID = OrderDetails.BarCodeID) ON Orders.OrderID = OrderDetails.OrderID&lt;br/&gt;WHERE (((BarCode.PackID)=1)))))&lt;br/&gt;&lt;br/&gt;ORDER BY OrderCode;&lt;/font&gt;&lt;br&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;(Οι εξτρά παρενθέσεις έχουν μπει από την access)&lt;br /&gt;&lt;/pre&gt; &lt;br /&gt; Το παραπάνω, αν και δουλεύει, με έχει προβληματίσει ως προς το πόσο αποδοτικό είναι, όχι γιατί με καίει ιδιαίτερα, η βάση δεν πρόκειται να έχει σε πλήρη ανάπτυξη περισσότερες από 500 εγγραφές στον orderdetails και το πολύ 3000 στον barcodes, αλλά με ενοχλεί ότι ουσιαστικά τρέχω 2 φορές το ίδιο πράγμα (τη μια φορά βρίσκει αυτά που δεν περιέχουν και την άλλη αυτά που περιέχουν και μετά ενώνει τα αποτελέσματα). Σαν τεχνική δηλαδή δεν μου αρέσει και έχω σπάσει το κεφάλι μου πως μπορεί να γίνει καλύτερα...&lt;br /&gt; &lt;br /&gt; Έχετε κάποια πρόταση; &lt;br /&gt;</description></item></channel></rss>