Autor Zpráva
Step
Profil
Potřeboval bych poradit se SELECTem.
Mám záznamy ve kterých je číslo skupiny (např 1,2,3,4,5,...) a potřeboval bych zjistit nejnižší nepoužité číslo.
Takže když smažu například záznam který má číslo skupiny 4, tak aby mi to vrátilo 4.

Nevíte někdo jak na to?

Zkoušel jsem to hledat, ale nevim co mám zadat do vyhledávače:)
Nox
Profil
číslo skupiny je cizí klíč? pak by šlo možná něco jako

SELECT MIN(id) FROM tabulka1 WHERE id NOT IN (SELECT DISTINCT skupina FROM tabulka2) GROUP BY id
Step
Profil
Nejsem si 100% jistej co ten tvůj dotaz má dělat, ale myslim že to neni ono. Když bych to řekl úplně obyčejně, tak chci zaplnit prázdné místo, které mi vzniklo po smazání záznamu a ten sloupec skupina neni id, ale bude UNIQ a správně jsi pocohpil že to je cizí klíč.

Takže když bych smazal třeba ten záznam co má skupinu 4, tak bych potřeboval zjistit, že tam nikde skupina 4 neni a mohl jí tam zase zapsat.

Doufám že je to aspoň trochu srozumitelný
Kajman_
Profil *
Možná něco jako
select 1 as volne from dual where not exists (select id from tabulka where id=1)
union
(select t1.id+1 volne from tabulka t1 left join tabulka t2 on t1.id+1=t2.id where t2.id is null order by t1.id limit 1)
order by volne
limit 1


Ale je to nesmysl vyplňovat mezery. Id má být jedinečné i historicky!
Step
Profil
Nejedná se o Id, je to uživatelsky volitelné číslo skupiny zboží. Potřeboval bych zjistit nejmenší nepoužité a to mu nabídnout.

Jinak díky, zkusim to.
Step
Profil
Tak jsem to chvíli zkoumal a moc jsem toho nevyzkoumal:)

Tomu dotazu vubec nerozumim, když si ho pustim, tak to nevyhodí žádnou chybu, ale taky neudělá nic.

Akorát nechápu, proč tam přidáváte tu druhou tabulku. O tu mi vubec nejde.

Mám tabulku zbozi_skupiny, která má sloupce
id, skupina, nazev, ...

1, 101, jídlo, ...
2, 102, pití, ...
3, 103, cigarety, ...
5,109, vidličky, ...
// a tady bych potřeboval vrátit že tam neni 104

EDIT: a to že je to větší než 100 už si zjistim
Kajman_
Profil *
Akorát nechápu, proč tam přidáváte tu druhou tabulku.

Je to ta samá tabulka. Prostě v tom dotaze všechny výskyty tabulka změňte na zbozi_skupiny a všechny id za skupina. A na prvním řádku tedy nebude výjimka pro jedničku, ale pro 101.
Step
Profil
Aha, omlouvám se, v těhle pokročilejších věcech nejsem zběhlý, už mi to běží, děkuji mockrát.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0