---
title: "JOIN-problem"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/75699-join-problem"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "cyprys"
published: "2003-05-02T17:16:44.000Z"
updated: "2003-05-02T17:51:24.000Z"
replies: 6
views: 185
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/75699-join-problem"
---

# JOIN-problem

## #1 — cyprys, 2003-05-02T17:16Z

Har några tabeller fast det är bara två stycken av dem som krånglar nu.
Jag vill få ut det högsta värdet som är bjudet på ett objekt. Bjudningarna finns i en tabell och alla objekten i en annan. tabellen är grupperad efter objekten som skall presentera maximalvärdet i tabellen bidding.

```
SELECT t1.objectid, t1.pris, t2.bid, t3.brand, t3.model, t3.modelvariant, t4.marke
FROM auctionobjects t1 LEFT JOIN bidding t2 ON t1.id = t2.auctionobjectid, objects t3, brands t4
WHERE t1.objectid = t3.id AND t3.brand = t4.id AND t1.auctionid = 2 AND t2.bid = (SELECT max(t5.bid) FROM bidding t5 WHERE t1.id = t5.auctionobjectid ;) 
GROUP BY 1 ;
```

En lite nerbantad och relevanta delar

```
SQL &= "SELECT t1.objectid, t1.pris, t2.bid "
        SQL &= "FROM auctionobjects t1 INNER JOIN bidding t2 ON t1.id = t2.auctionobjectid "
        SQL &= "WHERE t1.auctionid = " & auctionID & " AND t2.bid = (SELECT max(t5.bid) FROM bidding t5 WHERE t1.id = t5.auctionobjectid )  "
        SQL &= "GROUP BY 1 "
```

Tycker jag har följt dokumentationens syntax på <https://www.mysql.com>

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

## #2 — LarsG, 2003-05-02T17:20Z

Vad är problemet?

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

## #3 — cyprys, 2003-05-02T17:22Z

Just ja.. Syntax error. Den skriker inte ifrån sig någonting.
Tar jag däremot bort min "AND t2.bid = (SELECT.....)" så funkar det fint förutom att t2.bid är det första budet som kommer i den tabellen (I just detta fall det lägsta).

Detta felmess i ASP.NET: No error information available: DB_E_ERRORSINCOMMAND(0x80040E14). 

I MySQL CC säger den att syntaxen är fel dessutom och hänvisar till dokumentationen

> **dokumentation skrev:**
>
> In SQL-99 (and MySQL Version 4.1 or greater), I'd do it with a subquery like this: 
> 
> SELECT article, dealer, price
> FROM   shop s1
> WHERE  price=(SELECT MAX(s2.price)
>               FROM shop s2
>               WHERE s1.article = s2.article);

/r Mycket redigera blev det

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

## #4 — LarsG, 2003-05-02T17:27Z

Använder du version 4.1 av Mysql? Det är bara i den (alfatest-) versionen som det finns stöd för subselect.

Syntaxen är det inget fel på

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

## #5 — K@llen, 2003-05-02T17:28Z

Jag tror inte du kan göra en subselect om du inte har mysql-version 4 eller nyare.

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

## #6 — cyprys, 2003-05-02T17:30Z

Det var där det låg, antagligen.
Körde på den rekommenderade 4.0.1-versionen.
Jag tankar så blir jag säkert nöjd sen. :)

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

## #7 — cyprys, 2003-05-02T17:51Z

Jomenvisst funkade det bra.. :bire

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/75699-join-problem
