<?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>Απ: αποφυγή OR και εμφωλευμένων Select</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/36781.aspx</link><pubDate>Tue, 30 Oct 2007 19:09:28 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:36781</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/36781.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=36781</wfw:commentRss><description>&lt;P&gt;Πιστεύω ότι τo performance έρχεται αφού εξασφαλίσεις ότι η εφαρμογή σου θα έχει συντηρησιμότητα και επεκτασιμότητα. Όπως σου είπε και η Νατάσα, η σχεδίαση πάσχει σε αυτό.&lt;/P&gt;
&lt;P&gt;Από την άλλη μεριά, γιατί να είναι πρόβλημα η λύση με τα joins; Ίσα-ίσα, θα έχει καλύτερη απόδοση από οποιαδήποτε άλλη λύση παρουσιάσαμε. Το view της Νατάσας, πάντοτε θα κάνει τέσσερα SELECT ακόμα και αν ψάχνεις για ένα χρώμα. Το δικό μου, πάντοτε θα κάνει evaluate τέσσερα CASE για την ίδια περίπτωση. Την λύση των OR δεν την κουβεντιάζουμε καν, αποχαιρέτα τα indexes. Από την άλλη μεριά, τα joins μπορούν να εκτελεστούν με πολλούς διαφορετικούς τρόπους εσωτερικά στον SQL Server, ανάλογα με το προφίλ των δεδομένων (το selectivity που έχει η κάθε τιμή της αναζήτησης) ώστε να έχεις το πιο eficient execution plan. Επιπρόσθετα, ακόμα και αν ψάχνεις για όλα τα χρώματα, αρκεί &lt;STRONG&gt;ένα&lt;/STRONG&gt;&amp;nbsp;από αυτά να έχει μικρό selectivity ώστε να ευεργετήσει ολόκληρη την αναζήτηση. &lt;/P&gt;</description></item><item><title>Απ: αποφυγή OR και εμφωλευμένων Select</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/36780.aspx</link><pubDate>Tue, 30 Oct 2007 18:50:02 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:36780</guid><dc:creator>manosB</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/36780.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=36780</wfw:commentRss><description>Επειδή ο πίνακας των χρωμάτων θα είναι πολύ μικρός (πόσα χρώματα μπορείς να βάλεις?) δεν θα έχεις σχεδόν καθόλου καθυστέρηση από τα Join. &lt;br&gt;</description></item><item><title>Απ: αποφυγή OR και εμφωλευμένων Select</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/36777.aspx</link><pubDate>Tue, 30 Oct 2007 18:26:45 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:36777</guid><dc:creator>basilis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/36777.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=36777</wfw:commentRss><description>&lt;P&gt;Σας ευχαριστώ πολύ και τους 2 για τις απαντήσεις. Έχω δυνατότητα αλλαγής της δομή. Πάντως ακόμα και η φαινομενικά καλύτερη λύση με τα joins απαιτεί 3-4 joins... Τι γίνεται αν είμαστε σε αυτήν την θέση και μας ενδιαφέρει η απόδοση;&lt;/P&gt;</description></item><item><title>Απ: αποφυγή OR και εμφωλευμένων Select</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/36746.aspx</link><pubDate>Mon, 29 Oct 2007 07:40:27 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:36746</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/36746.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=36746</wfw:commentRss><description>&lt;P&gt;Συμφωνώ και επαυξάνω με τη Νατάσα ως προς την ανάγκη σωστότερης σχεδίασης. Στην περίπτωση που δεν μπορείς να πειράξεις τους πίνακές σου, σκέφτηκα και το παρακάτω:&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:black;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;select&lt;/SPAN&gt; *&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;from&lt;/SPAN&gt; product&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;where&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:fuchsia;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;case&lt;/SPAN&gt; color1&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;when&lt;/SPAN&gt; @color1 &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;THEN&lt;/SPAN&gt; 1&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;when&lt;/SPAN&gt; @color2 &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;THEN&lt;/SPAN&gt; 1&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;when&lt;/SPAN&gt; @color3 &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;THEN&lt;/SPAN&gt; 1&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;when&lt;/SPAN&gt; @color4 &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;THEN&lt;/SPAN&gt; 1&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;else&lt;/SPAN&gt; 0&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;end&lt;/SPAN&gt; +&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:fuchsia;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;case&lt;/SPAN&gt; color2&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;when&lt;/SPAN&gt; @color1 &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;THEN&lt;/SPAN&gt; 1&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;when&lt;/SPAN&gt; @color2 &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;THEN&lt;/SPAN&gt; 1&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;when&lt;/SPAN&gt; @color3 &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;THEN&lt;/SPAN&gt; 1&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;when&lt;/SPAN&gt; @color4 &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;THEN&lt;/SPAN&gt; 1&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;else&lt;/SPAN&gt; 0&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;end&lt;/SPAN&gt; +&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:fuchsia;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;case&lt;/SPAN&gt; color3&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;when&lt;/SPAN&gt; @color1 &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;THEN&lt;/SPAN&gt; 1&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;when&lt;/SPAN&gt; @color2 &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;THEN&lt;/SPAN&gt; 1&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;when&lt;/SPAN&gt; @color3 &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;THEN&lt;/SPAN&gt; 1&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;when&lt;/SPAN&gt; @color4 &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;THEN&lt;/SPAN&gt; 1&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;else&lt;/SPAN&gt; 0&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;end&lt;/SPAN&gt; +&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:fuchsia;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;case&lt;/SPAN&gt; color4&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;when&lt;/SPAN&gt; @color1 &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;THEN&lt;/SPAN&gt; 1&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;when&lt;/SPAN&gt; @color2 &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;THEN&lt;/SPAN&gt; 1&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;when&lt;/SPAN&gt; @color3 &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;THEN&lt;/SPAN&gt; 1&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;when&lt;/SPAN&gt; @color4 &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;THEN&lt;/SPAN&gt; 1&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;else&lt;/SPAN&gt; 0&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;end&lt;/SPAN&gt; = @colorcount&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Το μειονέκτημα αυτής της λύσης είναι ότι χρειάζεσαι άλλη μία παράμετρο (στο query "@colorcount") που είναι το πλήθος των χρωμάτων που ψάχνει ο χρήστης. Υποθέτω αυτό μπορείς να το πάρεις από το UI.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>Απ: αποφυγή OR και εμφωλευμένων Select</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/36745.aspx</link><pubDate>Mon, 29 Oct 2007 05:59:10 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:36745</guid><dc:creator>Νατάσα Μανουσοπούλου</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/36745.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=36745</wfw:commentRss><description>&lt;P&gt;Υποψιάζομαι ότι αυτό που περιγράφεις είναι μια ατυχής ανάλυση και υλοποίηση του χρώμα-μέγεθος σε εμπορική εφαρμογή. Έτσι όπως έχει σχεδιαστεί, με τις 4 δοτές στήλες μέσα στον πίνακα του προϊόντος, πρέπει να καταφύγεις σε επικίνδυνα ακροβατικά για να κάνεις την οποιαδήποτε διαχείριση. Ήδη, ξεκινώντας από αυτή τη φαινομενικά απλή αναζήτηση έχουν αρχίσει τα προβλήματα. Σκέψου ότι αύριο θα έχεις περισσότερα διαθέσιμα χρώματα, θα θέλεις δίχρωμα προϊόντα ή τα 4 χρώματα ανά προϊόν θα γίνουν 5. Αν αυτό που περιγράφεις δεν αφορά πανεπιστημιακή εργασία, κάποιες από αυτές τις αλλαγές είναι βέβαιες.&lt;/P&gt;
&lt;P&gt;Θα ήταν προτιμότερο να έχεις τον πίνακα των προϊόντων Product(ProductId, ProductName), τον πίνακα των διαθέσιμων χρωμάτων Color(ColorId, ColorName, RGB) και να τα συνδέεις μεταξύ τους με σχέση πολλά προς πολλά ProductColors(ProductId, ColorId). Τότε το ερώτημά σου θα ήταν κάτι του τύπου:&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:black;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;SELECT&lt;/SPAN&gt; Product.ProductId, ProductName&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;FROM&lt;/SPAN&gt; Product&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;INNER&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:silver;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;JOIN&lt;/SPAN&gt; ProductColor PC1 &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;ON&lt;/SPAN&gt; Product.ProductId = PC1.ProductId &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:silver;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;AND&lt;/SPAN&gt; PC1.ColorId=@Color1&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;INNER&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:silver;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;JOIN&lt;/SPAN&gt; ProductColor PC2 &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;ON&lt;/SPAN&gt; Product.ProductId = PC2.ProductId &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:silver;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;AND&lt;/SPAN&gt; PC2.ColorId=@Color2&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;INNER&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:silver;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;JOIN&lt;/SPAN&gt; ProductColor PC3 &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;ON&lt;/SPAN&gt; Product.ProductId = PC3.ProductId &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:silver;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;AND&lt;/SPAN&gt; PC3.ColorId=@Color3&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Αν πάλι δεν έχεις δυνατότητα να επέμβεις στο σχήμα των πινάκων σου, τότε μπορείς&amp;nbsp;να προσομοιώσεις το παραπάνω σχήμα με ένα view του τύπου&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:black;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;CREATE&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;VIEW&lt;/SPAN&gt; ProductColor&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;AS&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;SELECT&lt;/SPAN&gt; ProductId, Color1 &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;AS&lt;/SPAN&gt; Color&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;FROM&lt;/SPAN&gt; Product&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;UNION&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;SELECT&lt;/SPAN&gt; ProductId, Color2 &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;AS&lt;/SPAN&gt; Color&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;FROM&lt;/SPAN&gt; Product &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;AS&lt;/SPAN&gt; P2&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;UNION&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;SELECT&lt;/SPAN&gt; ProductId, Color3 &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;AS&lt;/SPAN&gt; Color&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;FROM&lt;/SPAN&gt; Product &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;AS&lt;/SPAN&gt; P3&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;UNION&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;SELECT&lt;/SPAN&gt; ProductId, Color4 &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;AS&lt;/SPAN&gt; Color&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;FROM&lt;/SPAN&gt; Product &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;AS&lt;/SPAN&gt; P4&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Αλλά αν σου πω ότι μου αρέσει αυτό θα σου πω ψέματα &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;/P&gt;</description></item><item><title>αποφυγή OR και εμφωλευμένων Select</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/36739.aspx</link><pubDate>Mon, 29 Oct 2007 01:31:15 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:36739</guid><dc:creator>basilis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/36739.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=36739</wfw:commentRss><description>&lt;P&gt;Καλησπέρα,&lt;/P&gt;
&lt;P&gt;Έχω ένα table που περιέχει τα 4 χρώματα τα οποία μπορεί να έχει κάθε αντικείμενο.&lt;/P&gt;
&lt;P&gt;table(id, productname, color1,color2,color3,color4)&lt;/P&gt;
&lt;P&gt;Ο χρήστης πρέπει να επιλέγει από ένα interface έως 4 τιμές χρωμάτων (μπορεί να είναι και ίδιες μεταξή τους) και να αναζητά αν υπάρχει αυτό το αντικείμενο (με τα συγκεκριμένα χρώματα). Τα χρώματα είναι 20 στον αριθμό.&lt;/P&gt;
&lt;P&gt;Το πρόβλημα είναι ότι ο χρηστης μπορεί να επιλέξει λιγότερες από 4 τιμές και ότι η σειρά με την οποία δίνονται δεν είναι υποχρεωτικά ίδια με αυτή που αποθηκεύονται στη βάση.&lt;/P&gt;
&lt;P&gt;Πχ αντικείμενο 1 κόκκινο κίτρινο μπλε κόκκινο&lt;/P&gt;
&lt;P&gt;ο χρήστης ζητά να βρεί αντικείμενο με τα χρωμματα κόκκινο, κόκκινο μπλε και οτιδίποτε άλλο.&lt;/P&gt;
&lt;P&gt;Υπάρχει τρόπος να καταφέρω κάτι τέτοιο χωρίς να γράψω 50 or ή 10 εμφωλευμένα select?&lt;/P&gt;</description></item></channel></rss>