Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Else sats

Postades av 2005-03-09 20:25:13 - Kristian Weingard, i forum sql-server/msde, Tråden har 3 Kommentarer och lästs av 658 personer

CREATE PROCEDURE spProdukter(
Från huvud sidan skickas parametern u_id men inte up_id, up_id är ifall en användare på målsidan väljer ett val i dropdown menyn för att då bestämma underkategori.

Från huvudsidan till målsidan med u_id så presenteras inget alternativ, men tilldelar jag båda parametrarna så fungerar det, någon som har en bra lösning?


@u_id int, @up_id int)
AS
IF @u_id IS NOT NULL
IF @up_id IS NOT NULL

BEGIN
SELECT DISTINCT TOP 100 PERCENT p_id, p_namn, bild, p_pris, p_nyhet
FROM         dbo.dbProdukt
WHERE     (p_reserverad = 0) AND (u_id = @u_id) AND (up_id = @up_id)
ORDER BY p_nyhet DESC, p_id DESC
END
ELSE
BEGIN
SELECT DISTINCT TOP 100 PERCENT p_id, p_namn, bild, p_pris, p_nyhet
FROM         dbo.dbProdukt
WHERE     (p_reserverad = 0) AND (u_id = @u_id)
ORDER BY p_nyhet DESC, p_id DESC
END
GO


Svara

Sv: Else sats

Postades av 2005-03-10 00:16:21 - Göran Andersson

Är du säker på att else-satsen kommer att höra till den inre if-satsen? Jag testade på SQL Server 2000, och den tolkar det så, men jag vet inte om att alla modeller och versioner gör det. Jag skulle ha använd begin och end på den yttre if-satsen också för att vara säker.

Jag har aldrig använt "distinct" och "top 100 percent" tillsammans, så jag vet inte vad det har för effekt. Konstruktionen "top 100 percent" borde ju inte ha någon effekt alls? Behöver du använda distinct? Kort sagt: Plocka bort allting onödigt som kan störa, och testa igen.


Svara

Sv: Else sats

Postades av 2005-03-10 11:05:50 - Christoffer Hedgate

Skapa två olika procedurer. Att ha två helt olika kodvägar i en procedur blir inte bra för återanvändning av exekveringsplaner. Och som Göran sa, TOP 100 PERCENT verkar inte göra någon nytta i frågorna, så den kan plockas bort ändå.


Svara

Sv:Else sats

Postades av 2005-03-10 11:08:36 - Christoffer Hedgate

Som ett annat alternativ kan du iofs köra så här:

<code>
CREATE PROCEDURE dbo.spProdukter
(
@u_id int
, @up_id int = NULL
)
AS
SELECT DISTINCT p_id, p_namn, bild, p_pris, p_nyhet
FROM dbo.dbProdukt
WHERE p_reserverad = 0
AND u_id = @u_id
AND up_id = COALESCE(@up_id, up_id)
ORDER BY p_nyhet DESC, p_id DESC
</code>


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 619
27 953
271 709
498
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies