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


Slå samman 2 frågor till en

Postades av 2007-04-23 21:17:28 - Torgny Söderström, i forum mysq, Tråden har 3 Kommentarer och lästs av 1279 personer

Jag är inte så duktig på SQL så jag brukar använda access, skapa fråga i designläge och sedan koppierar jag den i sql-visningsläget.

Mitt problem nu är att få fram den datan jag vill, för att få fram den har jag fått skapa en fråga som bygger vidare på en annan fråga. Nu vill jag sammanfoga dom till en fråga som jag kan köra mot min mysql-databas.

Fråga 1 serut så här (den är döpt till "Olästa_medelanden steg1"):
SELECT lasta.idmed
FROM lasta
WHERE (((lasta.idanv)=[Vilken användare]));

Fråga 2 serut så här:
SELECT medelande.rubrik, medelande.idmed
FROM medelande LEFT JOIN [Olästa_medelanden steg1] ON medelande.idmed = [Olästa_medelanden steg1].idmed
WHERE ((([Olästa_medelanden steg1].idmed) Is Null));


En kort beskrivning på vad jag vill uppnå kanske kan vara bra också.
Jag har en tabell med ett antal medelanden.
När man läst medelandet skapas en ny post i en annan tabel som ett kvitto på att jag läst medelandet, det samlas kvitton från övriga användare i denna tabell också.
Jag vill filtrera fram de medelanden som jag ännu inte läst.

Det jag gör i fråga ett är att kolla vilka medelanden som jag läst.
I fråga två hämntar jag alla medelanden och filtrerar bort dom som finns med i fråga ett.

MVH
Torgny


Svara

Sv: Slå samman 2 frågor till en

Postades av 2007-04-23 22:29:27 - Johan Djupmarker

Såhär skulle man kunna göra:

SELECT rubrik, idmed FROM medelande WHERE NOTE idmed IN (SELECT idmed FROM lasta WHERE idanv=[Vilken användare])

Ett annat alternativ:
SELECT medelande.rubrik, medelande.idmed
FROM medelande LEFT JOIN (SELECT idmed FROM lasta WHERE idanv=[Vilken användare]) LastaMeddelanden ON medelande.idmed = LastaMeddelanden.idmed
WHERE LastaMeddelanden.idmed Is Null;


Jag tycker första alternativet är lite "snyggare" och mer beskrivande, tyvärr är MySQL riktigt långsam på den typen av frågor vid stora datamängder. Men jag tror inte du kommer få problem med det vid en sådan enkel fråga.

/Johan


Svara

Sv:Slå samman 2 frågor till en

Postades av 2007-04-24 19:13:23 - Torgny Söderström

Tack för svaret

Jag ska titta närmare på alternativ 2 om det är en snabbare fråga. Jag har nämmerligen föränklat i frågan jag ställde för att mitt problem skulle synas bättra.

Det är 2 tabeller till inblandade & sidan där resultatet ska visas är knutpungten/startsidan för det intranet jag försöker skapa.

Tack för detta svar & mera tipps är välkommna

MVH
Torgny


Svara

För intresse klubben: Slå samman 2 frågor till en

Postades av 2007-04-25 20:56:05 - Torgny Söderström

Jag skrev tidigare att jag skalat bor en del i frågan för att göra den tydligare.
Här är den färdiga koden som den serut i access där jag provkört den.

1. olästa interna
SELECT medelande.rubrik, medelande.idmed, anvandare.fnamn, anvandare.enamn, medelande.date, grupp.namn, medelande.idgru, medelande.typ
FROM ((medelande LEFT JOIN [SELECT idmed FROM lasta WHERE idanv=[Vilken användare]]. AS LastaMeddelanden ON medelande.idmed = LastaMeddelanden.idmed) INNER JOIN grupp ON medelande.idgru = grupp.idgru) INNER JOIN anvandare ON medelande.idanv = anvandare.idanv
WHERE (((LastaMeddelanden.idmed) Is Null) AND ((medelande.date)>[älstadatum]) AND ((medelande.idgru)=[vilken grupp byt mot IN]) AND ((medelande.typ)<>5));

2. olästa allmenna
SELECT medelande.rubrik, medelande.idmed, anvandare.fnamn, anvandare.enamn, medelande.date, grupp.namn, medelande.typ
FROM ((medelande LEFT JOIN [SELECT idmed FROM lasta WHERE idanv=[Vilken användare]]. AS LastaMeddelanden ON medelande.idmed = LastaMeddelanden.idmed) INNER JOIN anvandare ON medelande.idanv = anvandare.idanv) INNER JOIN grupp ON medelande.idgru = grupp.idgru
WHERE (((LastaMeddelanden.idmed) Is Null) AND ((medelande.date)>[som älst]) AND ((medelande.typ)=5));



har någon någon kommentar?

MVH
Torgny


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

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 763
27 959
271 761
624
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