Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem SQL_Pomoc

Zdravím,

mám nejspíše úplně triviální dotaz. Dělám databázi v Oracle. Zasekl jsem se nad úlohami a bohužel nemohu přijít, jak vytvořit dva pohledy.
Zkouším si vytvořit databázi, pro hotel.

1)Potřebuji vytvořit pohled, pro hotel. Kde mi to zobrazí dostupné pokoje, ale potřebuji to porovnat s aktuálním datem. Pokud je nějaký obsazený, aby se nezobrazil.

2) Mám v tabulce několik zákazníků, kteří udělali několik objednávek. Potřebuji nějakou funkcí sečíst opakující se data(Jméno+Příjmení) v tabulce, zkoušel jsem to přes sumu, ale vůbec mi to nejde.

3) Následně, jakou funkcí byste udělali filtr, který mi seřadí klienty od toho nejčastějšího?

Případně bych mohl postnout Data Model.

Pokud by vás něco napadlo, budu vděčný.
Předem vše děkuji a předem se omlouvám, pokud jsem se špatně vyjádřil.

Díky

Předmět Autor Datum
Bez struktury tvých tabulek ti nemůžeme poradit. Ad 2) a 3) co jsi zkoušel, že ti to nejde?
Wikan 23.12.2014 09:42
Wikan
Zde mám data motel, kde jsou tabulky, PK i FK. 2N814.jpg
Pajas9211 23.12.2014 14:19
Pajas9211
Neodpověděl jsi na vše. Po zběžném pohledu na schéma se mi zdá, že doklad by na sobě měl mít ID obje…
Wikan 23.12.2014 15:00
Wikan
Nějak podobně se snažím přijít na to, jak sečíst, opakující se ID_Navstevnik, abych to mohl seřadit,…
Pajas9211 23.12.2014 20:39
Pajas9211
Select n.Jmeno, n.Prijmeni,o.ID_Navstevnik, Count(*) as "PočetObjednavek" From Objednavka o join Nav…
Pajas9211 23.12.2014 21:02
Pajas9211
Order by 4 desc
Jan Fiala 23.12.2014 21:05
Jan Fiala
Díky moc, teď to funguje. Nyní mi to zobrazí Jméno, Příjmení, ID, PočetObjednávek. Od toho, kdo jic…
Pajas9211 23.12.2014 21:14
Pajas9211
Programuješ to ty nebo my? Programování stylem jak se dělá tohle, a ještě tohle, a ještě tohle nemá…
host 23.12.2014 21:16
host
Jak chceš napsat termín příjezdu v případě, že má 2 objednávky dopředu? Jinak můžeš samozřejmě použí… poslední
Jan Fiala 24.12.2014 10:33
Jan Fiala
Omlouvám se za OT a nechci rejpat, ale jestli nejsi schopen napsat ani takovou banalitu, možná bys m…
host 23.12.2014 21:15
host
Nejsem programátor a ani se tak nenazývám, ale dělám projekt do školy, jelikož s tím nemám takovou z…
Pajas9211 23.12.2014 21:22
Pajas9211

Nějak podobně se snažím přijít na to, jak sečíst, opakující se ID_Navstevnik, abych to mohl seřadit, dle největšího počtu Objednávek. Bohužel s k tomu nemohu dopracovat. Poté udělat ten filtr.

Udělám to takto, abych to seřadil dle ID.

Select o.ID_Navstevnik, Count(*)
From Objednavka o
Group by o.ID_Navstevnik
Order by Count(*)

To mi seřadí ID_Navstevnik, od nejméně po nejvíce objednávek. Teď k tomu nějak potřebuji přidat ještě jméno, příjmení a první objednavku, kterou vytvořili, pokud jich mají více, ale s tím potřebuji nějak poradit. Nevím, čeho se chytit.

Select n.Jmeno, n.Prijmeni,o.ID_Navstevnik, Count(*)
From Objednavka o join navstevnik n on o.ID_Objednavka = n.ID_Navstevnik
Group by n.Jmeno, n.Prijmeni, o.ID_Navstevnik

Select n.Jmeno, n.Prijmeni,o.ID_Navstevnik, Count(*) as "PočetObjednavek"
From Objednavka o join Navstevnik n on n.id_navstevnik=o.id_navstevnik
Group by n.Jmeno, n.Prijmeni,o.ID_Navstevnik
Order by Count(*)

Takto mi to zobrazí jméno a sečte mi to objednavky každého. Potřebuji jen, aby to zobrazovalo od nejvíce objednávek, tedy obráceně.

Díky moc, teď to funguje.

Nyní mi to zobrazí Jméno, Příjmení, ID, PočetObjednávek. Od toho, kdo jich má nejvíce.

Potřeboval bych k tomu nějak připsat ještě terminprijezdu. Tedy Termín prvního uskutečněného pobytu.

tedy joinout k tomu tabulku doklad a vytáhnout z toho skutecnyTerminPrijezdu

Nejsem programátor a ani se tak nenazývám, ale dělám projekt do školy, jelikož s tím nemám takovou zkušenost a dostali jsme akorát zadání, kde téměř vše funguje pomocí samostudia, obracím se právě na poradnu. Jelikož jsem byl doma se zápalem plic, tak jsem ani to minimum ve škole nedostal.
Většinu jsem si našel na googlu a ve svých materiálech, jenže potřebuji doladit poslední zbytek a na ten už sám přijít nemohu.
Omlouvám se tedy, zda takto banální otázky. Jinak nestuduji IT, ale máme akorát předmět se základy dbs.

Zpět do poradny Odpovědět na původní otázku Nahoru