kod do testow:
Kod
-- phpMyAdmin SQL Dump
-- version 3.0.1.1
-- [url="http://www.phpmyadmin.net/"]http://www.phpmyadmin.net[/url]
--
-- Host: localhost
-- Czas wygenerowania: 03 Mar 2009, 22:16
-- Wersja serwera: 5.0.45
-- Wersja PHP: 5.2.5
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Baza danych: `mon_test`
--
-- --------------------------------------------------------
--
-- Struktura tabeli dla `oferta`
--
CREATE TABLE IF NOT EXISTS `oferta` (
`id` int(11) NOT NULL auto_increment,
`id_towar` int(11) NOT NULL,
`id_sprzedawca` int(11) NOT NULL,
`cena` decimal(10,0) NOT NULL,
`data` date NOT NULL,
PRIMARY KEY (`id`),
KEY `id_towar` (`id_towar`,`id_sprzedawca`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=11;
--
-- Zrzut danych tabeli `oferta`
--
INSERT INTO `oferta` (`id`, `id_towar`, `id_sprzedawca`, `cena`, `data`) VALUES
(1, 1, 1, 5, '2009-03-01'),
(2, 3, 1, 2, '2009-03-02'),
(3, 1, 2, 1, '2009-03-03'),
(4, 2, 5, 7, '2009-03-04'),
(5, 3, 5, 3, '2009-03-05'),
(6, 1, 1, 3, '2009-03-06'),
(7, 2, 4, 6, '2009-03-07'),
(8, 1, 3, 5, '2009-03-08'),
(9, 2, 3, 2, '2009-03-09'),
(10, 4, 1, 8, '2009-03-10');
-- --------------------------------------------------------
--
-- Struktura tabeli dla `sprzedawca`
--
CREATE TABLE IF NOT EXISTS `sprzedawca` (
`id_sprzedawca` int(11) NOT NULL auto_increment,
`nazwisko` varchar(20) NOT NULL,
PRIMARY KEY (`id_sprzedawca`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=6;
--
-- Zrzut danych tabeli `sprzedawca`
--
INSERT INTO `sprzedawca` (`id_sprzedawca`, `nazwisko`) VALUES
(1, 'Nowak'),
(2, 'Kowalski'),
(3, 'Adamski'),
(4, 'Sikorski'),
(5, 'Bacik');
-- --------------------------------------------------------
--
-- Struktura tabeli dla `towar`
--
CREATE TABLE IF NOT EXISTS `towar` (
`id_towar` int(11) NOT NULL auto_increment,
`nazwa` varchar(20) NOT NULL,
PRIMARY KEY (`id_towar`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5;
--
-- Zrzut danych tabeli `towar`
--
INSERT INTO `towar` (`id_towar`, `nazwa`) VALUES
(1, 'but'),
(2, 'telefon'),
(3, 'kurtka'),
(4, 'rower');
Cytat(kefirek @ 3.03.2009, 18:20:18 )

Może tak
SELECT *, MAX(cena) AS ile FROM oferta o
LEFT JOIN towar t ON (o.id_towar=t.id_towar)
LEFT JOIN sprzedawca s ON (o.id_sprzedawca=s.id_sprzedawca)
GROUP BY o.id_sprzedawca ORDERY BY ile DESC
A jak nie to podaj kod do wygenerowania tabeli z przykładowymi rekordami to ci zrobię to zapytanie
grupujesz po id_sprzedawca - tym sposobem uzyskujesz maksymalne ceny danego sprzedawcy sposrod wszystkich towarow (a nie maksima dotyczace danego towaru)