Autor | Zpráva | ||
---|---|---|---|
wifi_jirka Profil * |
#1 · Zasláno: 3. 1. 2012, 22:07:14
Zdravím,
prosím, existuje nějaký příkaz do SQL dotazu, který by v následujícím výpisu sloučil dvojici odpovídajících řádků do jednoho ? Celé jsem to pracně dal dhoromady třemi INNER JOINY z wordpresu. Hlavní problém mi působí, že wordpress do jedné tabulky ukládá jméno a příjmení na dva rozdílné řádky rozlišené hodnotami last:name, first_name a_meta_value a_post_id b_user_nicename b_display_name b_ID c_meta_key c_meta_value UBI 263 ubi UBI 635 first_name Josef UBI 263 ubi UBI 635 last_name Urbiš jiriS 263 jiris jiriS 641 first_name jiri jiriS 263 jiris jiriS 641 last_name sivec |
||
Tori Profil |
#2 · Zasláno: 3. 1. 2012, 22:10:53 · Upravil/a: Tori
GROUP_CONCAT, a řádky seskupovat podle ID uživatele.
|
||
Kajman Profil |
#3 · Zasláno: 3. 1. 2012, 22:11:05
Např. dvakrát připojíte joinem tu samou tabulku (s různými aliasy). Jednou s podmínkou na jméno a jednou na příjmení.
|
||
wifi_jirka Profil * |
#4 · Zasláno: 3. 1. 2012, 23:19:05
Nedaří se mi na to přijít... pokud můžete pomoci modifikovat následující SQL dotaz, budu velmi vděčný :
SELECT a.meta_value AS a_meta_value, a.post_id AS a_post_id, b.user_nicename AS b_user_nicename, b.display_name AS b_display_name, b.ID AS b_ID, c.meta_key AS c_meta_key, c.meta_value AS c_meta_value FROM wp_postmeta AS a RIGHT JOIN wp_users AS b ON a.meta_value= b.display_name INNER JOIN wp_usermeta AS c ON c.user_id=b.ID WHERE a.post_id='$promenna' AND (c.meta_key='last_name' OR c.meta_key='first_name') ORDER BY b.ID |
||
Kajman Profil |
#5 · Zasláno: 4. 1. 2012, 08:52:05
wp_users INNER JOIN wp_usermeta AS c1 ON c1.user_id=b.ID AND c1.meta_key='last_name' INNER JOIN wp_usermeta AS c2 ON c2.user_id=b.ID AND c2.meta_key='first_name' |
||
wifi_jirka Profil * |
#6 · Zasláno: 4. 1. 2012, 14:54:37
Kajman ... díky
přesto ještě poprosím jestli byste mi nepomohl napsat kompletní dotaz. Nějak mi to nefunguje, nemůžu najít důvot. Přiznám se že už je to na mě trošku složité :-( |
||
Kajman Profil |
#7 · Zasláno: 4. 1. 2012, 16:21:21
SELECT a.meta_value AS a_meta_value, a.post_id AS a_post_id, b.user_nicename AS b_user_nicename, b.display_name AS b_display_name, b.ID AS b_ID, c1.meta_value AS prijmeni, c2.meta_value AS jmeno FROM wp_postmeta AS a RIGHT JOIN wp_users AS b ON a.meta_value = b.display_name INNER JOIN wp_usermeta AS c1 ON c1.user_id = b.ID AND c1.meta_key = 'last_name' INNER JOIN wp_usermeta AS c2 ON c2.user_id = b.ID AND c2.meta_key = 'first_name' WHERE a.post_id = '$promenna' ORDER BY b.ID |
||
Časová prodleva: 3 dny
|
|||
wifi_jirka Profil * |
#8 · Zasláno: 7. 1. 2012, 12:12:21
díky!, funguje to bezvadně.
|
||
Časová prodleva: 12 let
|
0