Duombazes struktura jei vienoje lenteleje laikai viska (info apie parduotuve + prekes jos ) is karto kuolo verta...
Jei tos pacios prekes skirtingose parduotuvese turi skirtingas kainas tai simple struktura butu daugmaz tokia:
imones (id, pavadinimas ) // aka maxima, rimi ir t.t..
parduotuves ( id, imonesId, pavadinimas, adresas ) // pvz. gal konkrecioj pardej akcija
preke ( id , pavadinimas )
asortimentas ( id, parduotuvesId, prekesId, kiekis, kaina )
Na pagal tavo tokia ne itin man patinkancia struktura butu taip, sukuriu tam lenta:
CREATE TABLE [dbo].[alaus_kainos](
[id] [int] IDENTITY(1,1) NOT NULL,
[parduotuve] [nvarchar](100) COLLATE Lithuanian_CI_AS NULL,
[preke] [nvarchar](100) COLLATE Lithuanian_CI_AS NULL,
[kaina] [money] NOT NULL CONSTRAINT [DF_alaus_kainos_kiaina] DEFAULT ((0)),
CONSTRAINT [PK_alaus_kainos] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
ten suvesi parduotuves savo, prekes ir kainas, tada vaziuojam toliau:
SELECT
ak1.parduotuve,
ak1.preke,
ak1.kaina
FROM
alaus_kainos ak1
INNER JOIN (
-- Jamam visu prekiu minimalias kainas
-- tai galetu buti ir view'u aka vwMinPrices
-- is kurio laisvai selectintum po to
SELECT preke, MIN(kaina) AS kaina
FROM alaus_kainos
GROUP BY preke
) ak2 ON ak2.preke = ak1.preke
And ak2.kaina = ak1.kaina
it works, tested! :) nors ir kiek tupoka uzklausa gavosi :)
Freelancer Developer
http://www.lythum.lt
"System" <vytautas.butkus@gmail.com> wrote in message news:ibtrsa$pt$1@trimpas.omnitel.net...
> Sveiki,
>
> Sukuriau lentele, kurioje yra info apie Parduotuve, prekes parduodamas tose
> parduotuvese, kainas ir kiekius. Sakykim yra preke pavadinimu Alus Maximoj
> ir Rimi, bet Maximoj tas alus kainuoja 1LT kai Rimi kainuoja 2LT. Noriu
> padaryti SELECT'a visoms prekems kurios yra lentelese ir matyti tik tas,
> kurios parduodamos uz maziausia kaina kazkokioje parduotuveje.
>
> pvz:
> Maxima ALUS 1lt
> Rimi ALUS 2lt
> IKI CIPSAI 3LT
> Maxima CIPSAI 4LT
>
> rezultatas turetu buti:
> Maxima ALUS 1lt
> IKI CIPSAI 3LT
>
> Ar cia reikia daryti su WHERE salyga, ar su HAVING? Galvoje sukasi
> variantas, kad reiktu su WHERE daryti ir kazkaip subselect'a sugeneruoti
> kuris grazintu maziausia kaina atitinkamai prekei?
>
> Dekui
>