---
title: "Två SQL-frågor från samma tabell"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/111392-två-sql-frågor-från-samma-tabell"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Mahh"
published: "2004-09-12T08:59:03.000Z"
updated: "2004-09-12T15:29:56.000Z"
replies: 4
views: 324
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/111392-två-sql-frågor-från-samma-tabell"
---

# Två SQL-frågor från samma tabell

## #1 — Mahh, 2004-09-12T08:59Z

Kan börja med att nämna att jag använder MySQL.

Denna SQL-fråga listar alla "trådarna" i det valda forumet:

```
SELECT ID,namn,rubrik,mess,svar FROM MB_inlagg WHERE forumID =" & CLng(Request.QueryString("fID")) & " AND orginal=1 ORDER BY datum DESC
```

Informationen jag skriver ut ser ut så här:
rubrik + mess(första 20 tecknen) \| svar \| namn + datum 

Nu vill jag även att senast gjorda inlägget syns tillsammans med "tråden", så här:
rubrik + mess(första 20 tecknen) \| svar \| namn + datum \| senaste inlägg i aktuell tråd + skribent

Jag vill med andra ord välja ut det senaste inlägget med samma inlaggID som orginaltråden("orginal=1") men med villkoret "orginal=2" och med samma forumID som orginaltråden

Tabellen MB_inlagg ser ut så här: 
ID
forumID
inlaggID
namn
rubrik
mess
datum
orginal
svar

Permalänk: https://www.webforum.nu/p/111392

## #2 — LarsG, 2004-09-12T11:37Z

```
SELECT m1.ID,
       m1.namn,
       m1.rubrik,
       m1.mess,
       m1.svar,
       m1.datum,
       m2.datum as senastDatum,
       m2.namn  as senastSkribent
   FROM MB_inlagg m1 
   inner join MB_inlagg m2 on m1.inlaggid = m2.inlaggid
   inner join MB_inlagg m3 on m2.inlaggid = m3.inlaggid
  WHERE m1.forumID = :fid
   AND  m1.orginal=1
  group by 
     m1.ID,
     m1.namn,
     m1.rubrik,
     m1.mess,
     m1.svar,
     m1.datum,
     m2.datum,
     m2.namn
  having m2.datum = max(m3.datum)
  ORDER BY senastDatum DESC
```

Permalänk: https://www.webforum.nu/p/1435620

## #3 — Mahh, 2004-09-12T13:26Z

```
Set RS = Conn.Execute("SELECT m1.ID,m1.namn,m1.rubrik,m1.mess,m1.svar,m1.datum,m2.datum AS senastDatum,m2.namn  AS senastSkribent " _
						& "FROM MB_inlagg m1 " _
						& "INNER JOIN MB_inlagg m2 ON m1.inlaggid = m2.inlaggid " _
						& "INNER JOIN MB_inlagg m3 ON m2.inlaggid = m3.inlaggid " _
						& "WHERE m1.forumID=1 " _
						& "AND m1.orginal=1 " _
						& "GROUP BY m1.ID,m1.namn,m1.rubrik,m1.mess,m1.svar,m1.datum,m2.datum,m2.namn " _
						& "HAVING m2.datum = max(m3.datum) " _
						& "ORDER BY senastDatum DESC")
```

Denna SQL-fråga ger mig ett felmeddelande om att kolumnen "m2.datum" inte finns.

> Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
> 
> \[MySQL\]\[ODBC 3.51 Driver\]\[mysqld-4.0.18\]Unknown column 'm2.datum' in 'having clause'

Permalänk: https://www.webforum.nu/p/1435676

## #4 — LarsG, 2004-09-12T13:34Z

Hata Mysql.

```
HAVING senastDatum = max(m3.datum)
```

Blir det bättre så.

Permalänk: https://www.webforum.nu/p/1435682

## #5 — Mahh, 2004-09-12T15:29Z

> **LarsG skrev:**
>
> Hata Mysql.

Jasså, det är så illa... :)

Nu får jag lite utskrifter, har dock fortfarande problem.

I kolumnen "Senaste inlägg" skrivs namnet och datumet då den senaste tråden skrevs(då "orginal=1"), inte då senaste inlägget gjorts. Det är även ett och samma namn och datum som listas för alla trådar.

Ska försöka få ordning på det, annars återkommer jag.

Permalänk: https://www.webforum.nu/p/1435732

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/111392-två-sql-frågor-från-samma-tabell
