Autor Zpráva
looos
Profil *
pekne prosim, nevite nekdo jak by slo elegantne precist data z vice tabulek?

mam tabulky zpravy1, zpravy3, zpravy10 proste zpravy$x
tabulka se jmenuje vzdy zpravy a za ni je id produktu ke kteremu patri

a ja bych ted potreboval vypsat napr poslednich 5 zprav

neco jako SELECT data FROM zpravy*
Joker
Profil
looos:
nevite nekdo jak by slo elegantne precist data z vice tabulek?
Od toho je JOIN
Nicméně to asi nebude tenhle případ, předpokládám nechcete dělat jejich kartézský součin... nemluvě o tom, že jestli těch tabulek je tolik, kartézský součin by byl šíleně náročný na zdroje... kdyby v každé z 10 tabulek bylo pouhopouhých 10 záznamů, jejich kartézský součin bude mít 10 miliard řádků.

mam tabulky zpravy1, zpravy3, zpravy10 proste zpravy$x
To zavání chybným datovým modelem.
Pokud musím indexovat sloupce (vyrábím v tabulce sloupce něco1, něco2, něco3), je na 95% špatně datový model.
Pokud musím indexovat tabulky (mám tabulka1, tabulka2, tabulka3 - s úplně stejnou strukturou), je na 99,9% špatně datový model.

Na co potřebujete 10 (nebo dokonce víc) stejných tabulek?
Pro jistotu: Víte o tom, že tabulka může mít více řádků? :-)
ninja
Profil
UNION

(SELECT * FROM zpravy1) UNION (SELECT * FROM zpravy2) ORDER BY datum DESC LIMIT 5;


Že máte zcela špatně navrženou strukturu databáze předpokládám víte...
SwimX
Profil
looos:
tabulka se jmenuje vzdy zpravy a za ni je id produktu ke kteremu patri
fuj.

Co takle jedna tabulka: zpravy a v ní sloupeček produkt_id kam by se ukládalo id produktu, kam daná zpráva patří? Tak se to totiž běžně dělá.

Produkty mají také každý svoji tabulku? Snad ne.
looos
Profil *
no ta tabulka zpravy, slouzi pro uzivatelskou diskusi, tak jsem myslel ze kdyby bylo treba 10 produktu a kazdy mel v diskusi treba 20 prispevku, tak by mi to prislo zbytecne narocne na prochazeni tech tabulek ale to je asi blbost co?

protoze jinak mi ten model docela vyhovuje


co si o tom myslite?

jinak me jeste napadlo ze bych to mohl resit poddotazem nebo co jsem to nasel, ale nejak nemuzu prijit na to jak to funguje.

neco jako SELECT data FROM tblzpravy$produkt_id SELECT (produkt_id FROM tblprodukt...)
Joker
Profil
SwimX: Díky za zopakování té věty, zrovna ten podstatný konec (že to je podle ID produktu) jsem přehlédl.

looos:
kdyby bylo treba 10 produktu a kazdy mel v diskusi treba 20 prispevku
...tak bude daleko rychlejší mít to v jedné tabulce, než spojovat 10 tabulek.
Nemluvě o tom, když těch produktů bude třeba 500.

ID produktu je jednoznačně položka, která má být sloupcem té tabulky.
looos
Profil *
jeste jsem se chtel zeptat jak je to udelane treba tady na foru, tady je taky jedna tabulka a tam jsou vsechny prispevky?
Kajman_
Profil *
tady je taky jedna tabulka a tam jsou vsechny prispevky?

Ano. Jedna tabulka na příspěvky, jedna na seznam vláken, jedna na seznam fór, další kde jsou uživatelé.
looos
Profil *
tak jo diky moc

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: