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 fråga som inte fungerar som tänkt

Postades av 2006-09-11 20:08:10 - Christher Lenander, i forum access, Tråden har 7 Kommentarer och lästs av 909 personer

Denna sql fråga fungerar inte riktigt med MS Access.
När jag skriver ut blogtext på skärmen så kapar den utskriften med hälften ungefär.

När jag använder mysql så fungerar det utan problem.

SELECT blog_id,headline,blogtext,created,COUNT(comment_id) AS comments
FROM t_blog tb LEFT JOIN t_comments tc ON (tb.blog_id=tc.fk_blog_id)
GROUP BY blog_id,headline,blogtext,created ORDER BY created DESC


Så jag undrar om det är någon bugg i Ms Access som gör så texten kapas av.


Svara

Sv: SQL fråga som inte fungerar som tänkt

Postades av 2006-09-11 22:42:41 - Jonas Hallgren

Vad har blogtext för typ? Jag tror att du måste använda typen PM om du vill få plats med jättemycket text i Access. PM är obegränsad (?).


Svara

Sv:SQL fråga som inte fungerar som tänkt

Postades av 2006-09-12 05:24:33 - Christher Lenander

Jag har PM som fälttyp för blogtext.

Denna sql fråga fungerar utmärkt och skriver ut hela blogtext. men då måste jag göra en funktion
för att hämta ut hur många kommentarer det finns för varje post. Det är något som jag vill undervika.
Blir onödigt mycket trafik mot databasen.

SELECT blogtext FROM t_blog


Svara

Sv: SQL fråga som inte fungerar som tänkt

Postades av 2006-09-12 20:51:45 - Andreas Hillqvist

Testa att lägga bloggtexten sist i frågan. Har för mig att det har något att göra med hur JET cachar MEMO/PM fält:

SELECT tb.blog_id, tb.headline, tb.created, tc.comments, tb.blogtext
FROM t_blog tb LEFT JOIN 
   (SELECT blog_id, COUNT(comment_id) AS comments
    FROM t_comments
    GROUP BY blog_id) tc ON (tb.blog_id=tc.fk_blog_id)
ORDER BY tb.created DESC

Tog mig friheten att "snygga" till din fråga.

Tänk på att bara läsa ett MEMO fält en gång:
?
1
2
3
4
5
Const MaxLength = 100
    BloggText = rs("blogtext")
    If Len(BloggText) > MaxLength Then
        BloggText = Left(BloggText, MaxLength) & "..."
    End If


Svara

Sv:SQL fråga som inte fungerar som tänkt

Postades av 2006-09-12 21:47:19 - Christher Lenander

Varför gör du en subquery i joinen? behöver man verkligen göra det, för frågan fungerar utan problem
med MySQL 5.

Sen vad menar du med att läsa blogtext en gång?

Jag ska loopa igenom databasen och skriva ut hela blogtexten på sidan.

Testade din fråga men den fungerade dåligt.

Skrev om frågan så här, och den fungerar bra.

SELECT 
 headline, 
 blogtext, 
 created, 
 (SELECT COUNT(comment_id)
    FROM t_comments 
  WHERE fk_blog_id=blog_id 
  GROUP BY fk_blog_id) AS comments
FROM t_blog
ORDER BY created DESC;


Svara

Sv: SQL fråga som inte fungerar som tänkt

Postades av 2006-09-12 23:48:47 - Andreas Hillqvist

<b>Varför gör du en subquery i joinen? behöver man verkligen göra det, för frågan fungerar utan problem
med MySQL 5.</b>

Att slå samman bloggar och kommentarer meed en join och gruppera resultatet på fler kolumner än nödvändigt för att räkna kommentarer är inte effektivt. Min fråga var ett exemple på hur man kunde göra detta alternativt.

Men då jag testade i access gav din senaste fråga bättre resultat:
Din första fråga: 2,585938
Min fråga: 1,28125
Din sista fråga: 0,5

Jag kan spekulera i att ersätta underfrågan med en vy i SQL server eller liknade bör göra min lösning snabbare. Om den är snabbare än din sista fråga återstår dock att se.

<b>Sen vad menar du med att läsa blogtext en gång?
Jag ska loopa igenom databasen och skriva ut hela blogtexten på sidan.</b>

JAg har tidigare varit med om att Jet/Access "tappar" värdet för MEMO fält. Detta tror jag beror på att optimering vilket frigör värdet efter att det läst första gången eller så var det en bug. Kan rent av varit att det tillhörde DAO och inte ADO.

<b>Testade din fråga men den fungerade dåligt.</b>
Vad avser du med dåligt? Sämre prestanda?



Svara

Sv:SQL fråga som inte fungerar som tänkt

Postades av 2006-09-13 00:26:20 - Christher Lenander

<b>Jag kan spekulera i att ersätta underfrågan med en vy i SQL server eller liknade bör göra min lösning snabbare. Om den är snabbare än din sista fråga återstår dock att se.</b>

Skulle jag också göra.
Antar att Query i Ms Access är motsvarigheten till Vy i MySQL 5.

<b>Vad avser du med dåligt? Sämre prestanda?</b>
Fick inte den att fungera. Kom på att jag gjort lite fel.


Vad jag vill få ut av sql frågan var antalet kommentarer till varje blogginlägg.


Svara

Sv: SQL fråga som inte fungerar som tänkt

Postades av 2006-09-13 19:56:32 - Andreas Hillqvist

En query i access och en vy skiljer sig åt. Jag tror man kan jämföra hur en vy med en temporärtabell, som uppdateras när underliggande data förändras.

Detta ger bättre prestanda då du troligen har betydligt fler läs-operationer än skriv-operationer.

Men som sagt, jag har haft fel tidigare. Så jag uppskattar om någon SQL-server expert kompleterar eller korrigerar vid behov. ;)


Svara

Nyligen

  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak
  • 16:14 Vem anlitar man egentligen när tak
  • 16:13 Vem anlitar man egentligen när tak
  • 11:52 Noen erfaring med uttak hos Mostbe
  • 11:51 Noen erfaring med uttak hos Mostbe

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 570 586
27 958
271 741
5 837
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
Expand
next previous
Close

Previous

0/0

Next