Autor | Zpráva | ||
---|---|---|---|
Darkry Profil |
#1 · Zasláno: 15. 2. 2012, 12:21:41
Zdravím,
nikdy jsem moc s SQL podrobněji nepracoval a nyní mám takový problém. Mám dvě tabulky jedna obsahuje fotogalerii zboží a druhá zboží z eshopu. A já nyní potřebuji vybrat 10 nejnovějších zboží (z každé odděleně, ale tak aby bylo přesně těch 10 nejnovějších dohromady a bylo to správně seřazené. (tj. order by date desc limit 10 ).
Snad mi rozumíte. Díky |
||
Tori Profil |
#2 · Zasláno: 15. 2. 2012, 12:36:56
Darkry:
Co znamená "nejnovější zboží" v případě fotogalerie - nejnovější přidané fotky? Nebo 10 nejnovějších druhů zboží, které zároveň mají alespoň jednu fotografii? Totiž nechápu to "z každé odděleně". |
||
Darkry Profil |
#3 · Zasláno: 15. 2. 2012, 12:50:42
Tori:
Ty tabulky spolu vůbec nesouvisí. Fotogalerie je záznam o zboží, které není dostupné na e-shopu, ale v kamenném obchodě dostupné je. Tj. je to jakoby také zboží, ale jsou o něm jiné informace. Takže jakoby ta první možnost: "nejnovější přidané fotky" |
||
Tori Profil |
#4 · Zasláno: 15. 2. 2012, 13:01:06
Pokud chcete z obou tabulek jen podobné sloupce (ID, název, popis), šlo by použít UNION:
(SELECT 'eshop' AS 'dostupnost', id, nazev, popis, datum FROM zbozi_eshop) UNION (SELECT 'kamenny' AS 'dostupnost', id, nazevZbozi, popisZbozi, datum FROM fotogalerie) ORDER BY datum DESC LIMIT 10 |
||
Darkry Profil |
#5 · Zasláno: 15. 2. 2012, 13:02:13 · Upravil/a: Darkry
Jo to je přesně ono co potřebuju. Díky moc.
Tenhle SQL dotaz mi hlásí chybu: ( SELECT id, name, thumbnail, image WHERE displayInNews=1 FROM goods) UNION ( SELECT id, name, img, origimg FROM photos) ORDER BY date DESC LIMIT 10 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE displayInNews=1 FROM goods) UNION (SELECT id, name, ' at line 1 Musí tam být uvedená ta dostupnost jak tam máte? Nebo je chyba jinde? Díky. |
||
Tori Profil |
#6 · Zasláno: 15. 2. 2012, 14:18:47
Darkry:
Aha, nevšimla jsem si dalšího příspěvku. :) Máte přehozený části FROM a WHERE. Nejsem si jistá, ale myslím, že bude potřeba do obou dotazů dopsat i sloupeček "date", aby se měl výsledek UNIONu podle čeho řadit (a dát ho do zpětných apostrofů, neb "date" je klíčové slovo). |
||
Darkry Profil |
#7 · Zasláno: 15. 2. 2012, 14:52:06
Díky moc. Teď už to definitivně funguje :-)
|
||
Časová prodleva: 11 let
|
0