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

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
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
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

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

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