Tema: Re: SQL klausimas
Autorius: Jornada Del Muerto
Data: 2010-11-19 08:58:51
Kaikurie tik kitus kritikuot ir moka o ne kazka patys padaryt...

"CGI 600" <nespamink@spamas.lt> wrote in message news:ibuh38$qu$1@trimpas.omnitel.net...
> Na uzklausa tai dvejeto vierta :) Uz struktura tai net 0 negalima rasyti :D
> 
> On 2010.11.16 16:15, Jornada Del Muerto wrote:
>> 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
>>>
>