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


sql problem

Postades av 2006-01-24 20:58:06 - carl karlsson, i forum sql-server/msde, Tråden har 7 Kommentarer och lästs av 1210 personer

Hej,

Håller på med att tabell script till ett fotbolls lag, men har gåt in i väggen med sql frågan.

Här kan ni se mina tabeller i DB:
http://www.holmssportklubb.com/temp/sql.gif

Som ni ser kan man ha olika serier. Och med min sql sats får jag fram en tabell, men man får med alla matcher från alla serier så antal matcher och poäng stämer ju inte . . .
Alltså WIN, DRAW och LOST stämer inte

SQL q_Table i DB ( Access ):
<code> SELECT tbl_Team.teamId, tbl_Team.teamHeadline, (Select Count(gameId) from tbl_Games where (gameTeamHomeScoore>gameTeamAwayScoore AND gameTeamHome=tbl_Team.teamId) or (gameTeamHomeScoore<gameTeamAwayScoore AND gameTeamAway=tbl_Team.teamId)) AS Win, (Select Count(gameId) from tbl_Games where gameTeamHomeScoore=gameTeamAwayScoore AND (gameTeamHome=tbl_Team.teamId or gameTeamAway=tbl_Team.teamId)) AS Draw, (Select Count(gameId) from tbl_Games where (gameTeamHomeScoore<gameTeamAwayScoore AND gameTeamHome=tbl_Team.teamId) or (gameTeamHomeScoore>gameTeamAwayScoore AND gameTeamAway=tbl_Team.teamId) ) AS Lost, tbl_Games.SerieId
FROM tbl_Team, tbl_Serie INNER JOIN tbl_Games ON tbl_Serie.serieId = tbl_Games.SerieId
WHERE (((tbl_Team.teamId)=[tbl_Games].[gameTeamHome] Or (tbl_Team.teamId)=[tbl_Games].[gameTeamAway]))
GROUP BY tbl_Team.teamId, tbl_Team.teamHeadline, tbl_Games.SerieId, tbl_Team.teamId;</code>

Och sedan på sidan:
strSerieId = Request.Querystring("id")

<code> SELECT * FROM q_Table WHERE serieId = " & strSerieId & " ORDER BY ( 3 * Win + Draw) DESC"</code>


Svara

Sv: sql problem

Postades av 2006-01-25 10:32:24 - Ola Lindfeldt

Det fattas ett villkor på serieID i dina sub-querys [Select Count(gameId)....]
Du måste villkora på in-parameter @serieId, annars får du resultatet för alla serier.

Mer info om parametrar:
http://www.webconcerns.co.uk/asp/accessqueries/accessqueries.asp

Sen kan jag inte garantera att den fungerar med detta är en bra början.. :)



Svara

Sv: sql problem

Postades av 2006-01-25 11:25:35 - carl karlsson

Bättre eller sämmre ?

<code>
SELECT tbl_Games.serieId, tbl_Team.teamId, tbl_Team.teamHeadline, (Select Count(gameId) from tbl_Games where tbl_Games.serieId = @serieId AND (gameTeamHomeScoore>gameTeamAwayScoore AND gameTeamHome=tbl_Team.teamId) or (gameTeamHomeScoore<gameTeamAwayScoore AND gameTeamAway=tbl_Team.teamId)) AS Win, (Select Count(gameId) from tbl_Games where tbl_Games.serieId = @serieId AND gameTeamHomeScoore=gameTeamAwayScoore AND (gameTeamHome=tbl_Team.teamId or gameTeamAway=tbl_Team.teamId)) AS Draw, (Select Count(gameId) from tbl_Games where tbl_Games.serieId = @serieId AND (gameTeamHomeScoore<gameTeamAwayScoore AND gameTeamHome=tbl_Team.teamId) or (gameTeamHomeScoore>gameTeamAwayScoore AND gameTeamAway=tbl_Team.teamId) ) AS Lost
FROM tbl_Team, tbl_Serie INNER JOIN tbl_Games ON tbl_Serie.serieId = tbl_Games.serieId
WHERE (((tbl_Games.serieId)=[@serieId]) AND ((tbl_Team.teamId)=[tbl_Games].[gameTeamHome] Or (tbl_Team.teamId)=[tbl_Games].[gameTeamAway]))
GROUP BY tbl_Games.serieId, tbl_Team.teamId, tbl_Team.teamHeadline;
</code>

Men hur gör jag på sidan ?
<code>
strSQL = ""
strSQL = strSQL & "SELECT "
strSQL = strSQL & " *"
strSQL = strSQL & " FROM q_Table"
strSQL = strSQL & " WHERE tbl_Game.serieId = " & strSerieId & " ORDER BY ( 3 * Win + Draw) DESC"
</code>
för att skicka med en parameter ?


Svara

Sv:sql problem

Postades av 2006-01-25 13:12:28 - carl karlsson

snälla hjälp


Svara

Sv: sql problem

Postades av 2006-01-25 15:49:04 - Marcus Gus

helt ärligt så hjälper inte snälla... Det du kan göra för att förbättra dina chanser för att få svar är att formulera din fråga på ett bra sätt. När jag öppnade denna tråden igår så såg jag din sql-sats i första inlägget och min enda tanken var "Har han inte ens bemödat sig med att formatera SQL satsen så att den går enkelt och snabbt att läsa så skiter jag i dettta. Nästa tråd.... ". Vill du få bra svar skall du bemöda dig med att ställa bra frågor som är lätta att ta till sig och förstå, inte en SQL som ser ut som en enda röra...


Hursomhelst så råkade jag ändå titta på det. Testa det nedan och kolla om det verkar ge rätt svar som du förväntar dig på oavgjorda matcher. Lägg även till relationer mellan tbl_team och tbl_games, i bilden har du inte det så jag antar att det inte finns i databasen heller?
<code>
SELECT
G1.serieId,
T1.teamId,
T1.teamHeadline,
(
SELECT Count(game.gameId)
FROM tbl_Games game
WHERE game.gameTeamHomeScoore = game.gameTeamAwayScoore
AND (game.gameTeamHome = T!.teamId OR game.gameTeamAway=T1.teamId)
AND G1.serieId = game.serieId
) AS draw
FROM tbl_Team as T1, tbl_Games as G1
WHERE G1.gameTeamHome = T1.teamid
OR G1.gameTeamAway = T1.teamid
</code>

namnstandard suger, gjort bara för att illustrera....


Svara

Sv: sql problem

Postades av 2006-01-25 16:31:57 - Ola Lindfeldt

Carl,
På länken jag postade förut står det utförligt hur du ska göra på asp-sidan med parametrar!


Svara

Sv: sql problem

Postades av 2006-01-25 17:27:56 - Andreas Hillqvist

Monster SQL:

SELECT gameTeam, tbl_Team.teamHeadline, Statistics.Won, Statistics.Draw, Statistics.Lost
FROM (
    SELECT SerieId, gameTeam, -Sum(Statistics.Won) AS Won, -Sum(Statistics.Draw) AS Draw, -Sum(Statistics.Lost) AS Lost
    FROM (
        SELECT SerieId, 
            gameTeamHome AS gameTeam, 
            gameTeamHomeScoore>gameTeamAwayScoore AS Won,
            gameTeamHomeScoore=gameTeamAwayScoore AS Draw,
            gameTeamHomeScoore<gameTeamAwayScoore AS Lost
        FROM tbl_Games
        WHERE serieId = @SerieId
        UNION ALL
        SELECT SerieId, 
            gameTeamAway AS gameTeam, 
            gameTeamAwayScoore>gameTeamHomeScoore AS Won,
            gameTeamAwayScoore=gameTeamHomeScoore AS Draw,
            gameTeamAwayScoore<gameTeamHomeScoore AS Lost
        FROM tbl_Games) AS Statistics
        WHERE serieId = @SerieId
    GROUP BY SerieId, gameTeam) AS Statistics INNER JOIN 
    tbl_Team ON Statistics.gameTeam = tbl_Team.teamId
ORDER BY ( 3 * Win + Draw) DESC


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
470
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