SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 27.03.2012 14:28:47

Akylenok
Участник
Зарегистрирован: 27.05.2010
Сообщений: 15

Запрос на выборку (соединение таблицы с самой собой)

Направьте меня пожалуйста в сторону возможного решения "наисложнейшей" для меня задачи smile
Голову сломал но не смог пока придумать.

Суть.

Есть таблица:

CREATE TABLE wallpapers.tbl_name
(
  url_alias VARCHAR(230) NOT NULL DEFAULT '',
  parent_url_alias VARCHAR(100) NOT NULL DEFAULT '',
  ext VARCHAR(10) DEFAULT NULL,
  rus_name VARCHAR(255) DEFAULT NULL,
  is_group TINYINT(1) NOT NULL DEFAULT 0,
  PRIMARY KEY (url_alias, parent_url_alias)
)
ENGINE = MYISAM


хранит одновременно категории и элементы категорий

уровень вложенности один.

Вот что я никак не могу придумать:
нужно выбрать все группы, и каждая группа включат в себя данные по одному элементу из этой группы

Тут как я понимаю должно быть соединение таблицы самой с собой, но я никак не могу ограничить каждое соединение после получения каждой первой строки соединение. Скорее всего я чего-то не знаю еще smile

Отредактированно Akylenok (27.03.2012 14:34:47)

Неактивен

 

#2 27.03.2012 14:45:58

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Запрос на выборку (соединение таблицы с самой собой)

join с подзапросом, в котором выбрано по одному эл-ту каждой группы
или
подзапрос в части перечисления полей (до from)

Неактивен

 

#3 27.03.2012 15:49:00

Akylenok
Участник
Зарегистрирован: 27.05.2010
Сообщений: 15

Re: Запрос на выборку (соединение таблицы с самой собой)

vasya написал:

join с подзапросом, в котором выбрано по одному эл-ту каждой группы
или
подзапрос в части перечисления полей (до from)

а можно привести простой пример, а я попытаюсь его понять и сделать к своей задаче.?

Неактивен

 

#4 27.03.2012 15:51:52

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Запрос на выборку (соединение таблицы с самой собой)

приведите тестовые данные строк на 10 и желаемый результат для своей таблицы (wallpapers.tbl_name)

Неактивен

 

#5 27.03.2012 16:05:02

Akylenok
Участник
Зарегистрирован: 27.05.2010
Сообщений: 15

Re: Запрос на выборку (соединение таблицы с самой собой)

vasya написал:

приведите тестовые данные строк на 10 и желаемый результат для своей таблицы (wallpapers.tbl_name)

Может вся загвоздка оттого что я не знаю как мне выбрать из всей таблицы по одной записи каждой категории? smile

10 выбирать долго, вот мои тестовые данные:

INSERT INTO tbl_name VALUES
  ('koshki', '', NULL, 'Кошки', 1),
  ('lion_lev_car_zverei', 'koshki', '.jpg', 'lion, лев, царь зверей', 0),
  ('gorod_mashina_koshki_chjornye', 'koshki', '.jpg', 'город, машина, кошки, чёрные', 0),
  ('derevo_brevno_kora_tigrasha_lapy_kogotki_tochit_igraetsja', 'koshki', '.jpg', 'дерево, бревно, кора, тиграша, лапы, коготки, точит, играется', 0),
  ('dikie_koshki_zhivotnye_oboi_foto_lvy_lev_afrika_priroda_derevo_derevja', 'koshki', '.jpg', 'дикие кошки, животные, обои, фото, львы, лев, африка, природа, дерево, деревья', 0),
  ('dikie_koshki_tigry_detenysh_kotjonok_tigrica_malysh_mama_sneg_zima_progulka_sherst_meh_okras_poloski', 'koshki', '.jpg', 'дикие, кошки, тигры, детеныш, котёнок, тигрица, малыш, мама, снег, зима, прогулка, шерсть, мех, окрас, полоски', 0),
  ('zverjok_risunok_smotrit', 'koshki', '.jpg', 'зверёк, рисунок, смотрит', 0),
  ('kot_dozhd_obida', 'koshki', '.jpg', 'кот, дождь, обида', 0),
  ('kot_koshka_kotje_mordochka_usy_zevaet_sherst_okras', 'koshki', '.jpg', 'кот, кошка, котэ, мордочка, усы, зевает, шерсть, окрас', 0),
  ('kot_koshka_morda_glaza_zelenye_sherst_nos_pjatno_okras_polosatyi_usy', 'koshki', '.jpg', 'кот, кошка, морда, глаза, зеленые, шерсть, нос, пятно окрас, полосатый, усы', 0),
  ('kot_manul_hixhnik', 'koshki', '.jpg', 'кот, манул, хищник', 0),
  ('kot_morda_jazyk_ispug', 'koshki', '.jpg', 'кот, морда, язык, испуг', 0),
  ('kot_shariki_elka', 'koshki', '.jpg', 'кот, шарики, елка', 0),
  ('kot_shashlyk_fart', 'koshki', '.jpg', 'кот, шашлык, фарт', 0),
  ('kotenok_dymok_na_lodoni_kamochek', 'koshki', '.jpg', 'котенок, дымок, на лодони, камочек', 0),
  ('kotenok_kot_stakan_risunok', 'koshki', '.jpg', 'котенок, кот, стакан, рисунок', 0),
  ('kotenok_past_zevaet_jazyk_ushi_lapy_usy_divan', 'koshki', '.jpg', 'котенок, пасть, зевает, язык, уши, лапы, усы, диван', 0),
  ('kotje_kotenok_risunok_puzyri', 'koshki', '.jpg', 'котэ, котенок, рисунок, пузыри', 0),
  ('koshka_dikaja_zhivotnoe_hixhnik_zver_leopard_lapa_golova_morda_glaza_usy_ushi_mezh_shkura_sherst_okras_petna', 'koshki', '.jpg', 'кошка, дикая, животное, хищник, зверь, леопард, лапа, голова, морда, глаза, усы, уши, меж, шкура, шерсть, окрас, петна', 0),
  ('koshka_zima_sneg', 'koshki', '.jpg', 'кошка, зима, снег', 0),
  ('koshka_kotenok_orjot', 'koshki', '.jpg', 'кошка, котенок, орёт', 0),
  ('koshka_kotenok_shokoladnyi', 'koshki', '.jpg', 'кошка, котенок, шоколадный', 0),
  ('koshki_kotenok_malenkii', 'koshki', '.jpg', 'кошки, котенок, маленький', 0),
  ('lev_lion_cherno_beloe_animal', 'koshki', '.jpg', 'лев, lion, черно белое, animal', 0),
  ('lev_lvenok_detjonysh_dikie_bolshie_koshki', 'koshki', '.jpg', 'лев, львенок, детёныш, дикие, большие, кошки', 0),
  ('leopard_pristalnyi_vzgljad', 'koshki', '.jpg', 'леопард, пристальный, взгляд', 0),
  ('progulka_leto_priroda_trava_kotjonok_prelest', 'koshki', '.jpg', 'прогулка, лето, природа, трава, котёнок, прелесть', 0),
  ('pushistiki_kucha_glaz_koshachja_lesenka', 'koshki', '.jpg', 'пушистики, куча глаз, кошачья лесенка', 0),
  ('ryzhiki_asfalt_listja_derevja', 'koshki', '.jpg', 'рыжики, асфальт, листья, деревья', 0),
  ('rys_para_les_vzgljad', 'koshki', '.jpg', 'рысь, пара, лес, взгляд', 0),
  ('semeistvo_koshachih_hixhnik_tigr_lezhit_golova_lapa_morda_poloski_grjaznyi_nos', 'koshki', '.jpg', 'семейство кошачьих, хищник, тигр, лежит, голова, лапа, морда, полоски, грязный нос', 0),
  ('tigr_koshka_vzgljad', 'koshki', '.jpg', 'тигр, кошка, взгляд', 0),
  ('tigr_tigrjata_zhivotnye_oboi', 'koshki', '.jpg', 'тигр, тигрята, животные, обои', 0),
  ('chjornaja_pantera_panther_koshka_glaza', 'koshki', '.jpg', 'чёрная, пантера, panther, кошка, глаза', 0),
  ('chernyi_belyi_koshki_ljubov', 'koshki', '.jpg', 'черный, белый, кошки, любовь', 0),
  ('cvety', '', NULL, 'Цветы', 1),
  ('buket_krasnye_rozy_okno_podokonnik_trexhiny_makro', 'cvety', '.jpg', 'букет, красные, розы, окно, подоконник, трещины, макро', 0),
  ('vesna_park_skver_klumba_cvety_belye_zheltye_tjulpany_cveta_razmytost_solnce_svet_bliki', 'cvety', '.jpg', 'весна, парк, сквер, клумба, цветы, белые, желтые, тюльпаны, цвета, размытость, солнце, свет, блики', 0),
  ('vesna_cvety_podsnezhniki_krokusy_cveta_kraski_jarkost_zheltyi_sinii_listja_zelen_fon_razmytost', 'cvety', '.jpg', 'весна, цветы, подснежники, крокусы, цвета, краски, яркость, желтый, синий, листья, зелень, фон, размытость', 0),
  ('vesna_cvety_podsnezhniki_poljana_solnechno_luchi_bliki_ottepel_nezhnost', 'cvety', '.jpg', 'весна, цветы, подснежники, поляна, солнечно, лучи, блики, оттепель, нежность', 0),
  ('zhivopis_cvetok_roza_svezhest_rosa_kapli_lepestki_listja_zelen', 'cvety', '.jpg', 'живопись, цветок, роза, свежесть, роса, капли, лепестки, листья, зелень', 0),
  ('maki_romashka_romashki_cvety_nebo_oblaka', 'cvety', '.jpg', 'маки, ромашка, ромашки, цветы, небо, облака', 0),
  ('podsnezhniki_vesna_listja', 'cvety', '.jpg', 'подснежники, весна, листья', 0),
  ('pole_cvety_belye_romashki_trava_koloski_zelen_nebo_oblaka_solnechno', 'cvety', '.jpg', 'поле, цветы, белые, ромашки, трава, колоски, зелень, небо, облака, солнечно', 0),
  ('risunok_maslom_bokaly_buket_rozy', 'cvety', '.jpg', 'рисунок, маслом, бокалы, букет, розы', 0),
  ('roza_belaja_fon', 'cvety', '.jpg', 'роза, белая, фон', 0),
  ('roza_buton_cvetok_lepestki_krasnaja_temnaja_fioletovyi_lilovyi_cvet_listja_razmytost_makro_priroda', 'cvety', '.jpg', 'роза, бутон, цветок, лепестки, красная, темная, фиолетовый, лиловый, цвет, листья, размытость, макро, природа', 0),
  ('roza_rozy_lenta_krasnyi', 'cvety', '.jpg', 'роза, розы, лента, красный', 0),
  ('roza_rozy_cvety_lepestki_butony_makro_oranzhevye_persikovye_cvet_svet_nezhnost_obrabotka', 'cvety', '.jpg', 'роза, розы, цветы, лепестки, бутоны, макро, оранжевые, персиковые, цвет, свет, нежность, обработка', 0),
  ('rozy_belye_butony_buket_dozhd_voda_kapli', 'cvety', '.jpg', 'розы, белые, бутоны, букет, дождь, вода, капли', 0),
  ('rozy_cvety_buket', 'cvety', '.jpg', 'розы, цветы, букет', 0),
  ('rozy_cvety_zasushennye_rozovye_nezhnost_svet_cvet_makro', 'cvety', '.jpg', 'розы, цветы, засушенные, розовые, нежность, свет, цвет, макро', 0),
  ('sakura_derevo_japonija_makro_fon_rozovyi', 'cvety', '.jpg', 'сакура, дерево, япония, макро, фон, розовый', 0),
  ('sakura_cvety_lepestki_rozovye_derevo_vetvi_nebo_makro_vesna_nezhnost', 'cvety', '.jpg', 'сакура, цветы, лепестки, розовые, дерево, ветви, небо, макро, весна, нежность', 0),
  ('siren_vetka_cvety_cvet_makro_rastenija_priroda_vesna', 'cvety', '.jpg', 'сирень, ветка, цветы, цвет, макро, растения, природа, весна', 0),
  ('tekstura_cvety_jeffekt_bumagi_mak', 'cvety', '.jpg', 'текстура, цветы, эффект бумаги, мак', 0),
  ('cvetenie_vishnja_belye_lepestki_vetki_vesna_svezhest', 'cvety', '.jpg', 'цветение, вишня, белые лепестки, ветки, весна, свежесть', 0),
  ('cvetenie_vishnja_vetka_belaja_derevo_palochki_kora_makro_vesna_bliki_razmytost', 'cvety', '.jpg', 'цветение, вишня, ветка, белая, дерево, палочки, кора, макро, весна, блики, размытость', 0),
  ('cvetenie_rozovye_cvety_vesna', 'cvety', '.jpg', 'цветение, розовые цветы, весна', 0),
  ('cvetok_belyi_rastenija_bliki_nezhnost_makro', 'cvety', '.jpg', 'цветок, белый, растения, блики, нежность, макро', 0),
  ('cvety_buket_lepestki_krasota', 'cvety', '.jpg', 'цветы, букет, лепестки, красота', 0),
  ('cvety_maki_butony_trava_zelen_sochno', 'cvety', '.jpg', 'цветы, маки, бутоны, трава, зелень, сочно', 0),
  ('cvety_makro_fotografii_podsolnuhi', 'cvety', '.jpg', 'цветы, макро фотографии, подсолнухи', 0),
  ('cvety_makro_foto_oboi_dlja_rabochego_stola_tjulpany', 'cvety', '.jpg', 'цветы, макро, фото, обои для рабочего стола, тюльпаны', 0),
  ('cvety_poljana_pole_polja_solnce_priroda_foto_peizazhi', 'cvety', '.jpg', 'цветы, поляна, поле, поля, солнце, природа, фото, пейзажи', 0),
  ('cvety_rozovyi_ukrashenija_lenty', 'cvety', '.jpg', 'цветы, розовый, украшения, ленты', 0),
  ('cvety_rozy_sad', 'cvety', '.jpg', 'цветы, розы, сад', 0),
  ('cvety_rozy_tjulpany', 'cvety', '.jpg', 'цветы, розы, тюльпаны', 0),
  ('cvety_tjulpany_svetl_vesna_vesennie_oboi_solnce_luchi_sad_parki_foto_priroda_krasivye_oboi_dlja_rabochego_stola', 'cvety', '.jpg', 'цветы, тюльпаны, светл, весна, весенние обои, солнце, лучи, сад, парки, фото, природа, красивые обои для рабочего стола', 0),
  ('cvety_fioletovye_s_zheltym', 'cvety', '.jpg', 'цветы, фиолетовые, с желтым', 0),
  ('cvety_foto_oboi_priroda_pole_solnce_krasivye_kartinki', 'cvety', '.jpg', 'цветы, фото, обои, природа, поле, солнце, красивые картинки', 0),
  ('abstrakcii', '', NULL, 'Абстракции', 1),
  ('3d_grafika_fignja_shtuchka', 'abstrakcii', '.jpg', '3d, графика, фигня, штучка', 0),
  ('color_abstract_cvet_sinii_smoke', 'abstrakcii', '.jpg', 'color abstract, цвет, синий, smoke', 0),
  ('colourful_raduga_cvetv_polosy', 'abstrakcii', '.jpg', 'colourful, радуга, цветв, полосы', 0),
  ('endoplasmic_tissue_red', 'abstrakcii', '.jpg', 'endoplasmic, tissue, red', 0),
  ('kunie_kanbara_cveta_babochki_vektor_vitrazh', 'abstrakcii', '.jpg', 'kunie kanbara, цвета, бабочки вектор витраж', 0),
  ('abstrakcii_raznoe_minimalizm', 'abstrakcii', '.jpg', 'абстракции, разное, минимализм', 0),
  ('abstrakcii_svechenie_goluboe_sinee_uzory_svet_oboi', 'abstrakcii', '.jpg', 'абстракции, свечение, голубое, синее, узоры, свет, обои', 0),
  ('abstrakcii_cvety_listja_fioletovyi_fon_oboi', 'abstrakcii', '.jpg', 'абстракции, цветы, листья, фиолетовый фон, обои', 0),
  ('abstrakcija_geometrija_figury_linii_cveta', 'abstrakcii', '.jpg', 'абстракция, геометрия, фигуры, линии, цвета', 0),
  ('abstrakcija_krasnyi_krugi_linii', 'abstrakcii', '.jpg', 'абстракция, красный, круги, линии', 0),
  ('abstrakcija_linii_polosy_abstraction', 'abstrakcii', '.jpg', 'абстракция, линии, полосы, abstraction', 0),
  ('abstrakcija_linii_svechenie_tekstura', 'abstrakcii', '.jpg', 'абстракция, линии, свечение, текстура', 0),
  ('abstrakcija_linii_cveta', 'abstrakcii', '.jpg', 'абстракция, линии, цвета', 0),
  ('abstrakcija_sinii_krugi_rozovyi_linii', 'abstrakcii', '.jpg', 'абстракция, синий, круги, розовый, линии', 0),
  ('abstrakcija_fraktal_bezhevyi_sinii', 'abstrakcii', '.jpg', 'абстракция, фрактал, бежевый, синий', 0),
  ('abstrakcija_fraktal_neonovyi_svet', 'abstrakcii', '.jpg', 'абстракция, фрактал, неоновый свет', 0),
  ('babochka_cvety_puzyri', 'abstrakcii', '.jpg', 'бабочка, цветы, пузыри', 0),
  ('belyi_korichnevyi_veter', 'abstrakcii', '.jpg', 'белый, коричневый, ветер', 0),
  ('bokal_dym_fioletovyi_steklo', 'abstrakcii', '.jpg', 'бокал, дым, фиолетовый, стекло', 0),
  ('vzryv_fokus_linii', 'abstrakcii', '.jpg', 'взрыв, фокус, линии', 0),
  ('golova_dym_sinii_steklo', 'abstrakcii', '.jpg', 'голова, дым, синий, стекло', 0),
  ('devushka_linii_tanec', 'abstrakcii', '.jpg', 'девушка, линии, танец', 0),
  ('dym_belyi_fon', 'abstrakcii', '.jpg', 'дым, белый, фон', 0),
  ('dym_fioletovyi_fon', 'abstrakcii', '.jpg', 'дым, фиолетовый, фон,', 0),
  ('dym_chernyi_smoke', 'abstrakcii', '.jpg', 'дым, черный, smoke', 0),
  ('dym_chernyi_fon', 'abstrakcii', '.jpg', 'дым, черный, фон', 0),
  ('kristally_igra_cveta', 'abstrakcii', '.jpg', 'кристаллы, игра, цвета,', 0),
  ('krugi_abstrakcija_purpurnyi', 'abstrakcii', '.jpg', 'круги, абстракция, пурпурный', 0),
  ('krugi_belyi_zelenyi_seryi_chernyi_krasnyi_bordovyi', 'abstrakcii', '.jpg', 'круги, белый, зеленый, серый, черный, красный, бордовый', 0),
  ('krugi_zelenyi_fon_svechenie', 'abstrakcii', '.jpg', 'круги, зеленый, фон, свечение', 0),
  ('minimalizm_svjazi_linii_tochki_neon', 'abstrakcii', '.jpg', 'минимализм, связи, линии, точки, неон', 0),
  ('nadpis_morozhenoe_fon_rozovyi', 'abstrakcii', '.jpg', 'надпись, мороженое, фон, розовый', 0),
  ('ogon_plamja_koster', 'abstrakcii', '.jpg', 'огонь, пламя, костер', 0),
  ('plamja_krasnyi_oranzhevyi_zheltyi_teplo', 'abstrakcii', '.jpg', 'пламя, красный, оранжевый, желтый, тепло', 0),
  ('polosy_abstrakcii_cveta_kraski', 'abstrakcii', '.jpg', 'полосы, абстракции, цвета, краски', 0),
  ('polosy_linii_bliki_svet_jarkost_svechenie_cveta', 'abstrakcii', '.jpg', 'полосы, линии, блики, свет, яркость, свечение, цвета', 0),
  ('pruzhina_igrushka_makro', 'abstrakcii', '.jpg', 'пружина, игрушка, макро', 0),
  ('raznoe_abstrakcija_plity_krasnyi_zont_fon_walls', 'abstrakcii', '.jpg', 'разное, абстракция, плиты, красный, зонт, фон, walls', 0),
  ('raznocvetnyi_volny_abstrakcija', 'abstrakcii', '.jpg', 'разноцветный, волны, абстракция', 0),
  ('svet_ten_otrazhenija_hrom', 'abstrakcii', '.jpg', 'свет, тень, отражения, хром', 0),
  ('sinii_chudik_abstrakcija', 'abstrakcii', '.jpg', 'синий, чудик, абстракция', 0),
  ('smaily_raznocvetnyi_fon', 'abstrakcii', '.jpg', 'смайлы, разноцветный, фон', 0),
  ('temnyi_fon_soty_zelenyi_svet_linii', 'abstrakcii', '.jpg', 'темный фон, соты, зеленый, свет, линии', 0),
  ('uzory_zavihreni_lightfarm', 'abstrakcii', '.jpg', 'узоры, завихрени, lightfarm', 0),
  ('uzory_sinii_zavitushki', 'abstrakcii', '.jpg', 'узоры, синий, завитушки', 0),
  ('fioletovyi_lilovyi_lepestok_lepestki_abstrakcija', 'abstrakcii', '.jpg', 'фиолетовый, лиловый, лепесток, лепестки, абстракция', 0),
  ('fon_linija_cveta', 'abstrakcii', '.jpg', 'фон, линия, цвета', 0),
  ('fon_razmytost_rozovyi', 'abstrakcii', '.jpg', 'фон, размытость, розовый', 0),
  ('cveta_abstrakcija_color_abstract_krugi_1920h1080', 'abstrakcii', '.jpg', 'цвета, абстракция, color abstract, круги, 1920х1080', 0),
  ('cveta_abstrakcija_color_abstract_linii_krugi_svechenie', 'abstrakcii', '.jpg', 'цвета, абстракция, color abstract, линии, круги, свечение', 0),
  ('cveta_abstrakcija_color_abstract_linii_lenty_polosa', 'abstrakcii', '.jpg', 'цвета, абстракция, color abstract, линии, ленты, полоса', 0),
  ('cveta_akvarel_peremeshano', 'abstrakcii', '.jpg', 'цвета, акварель, перемешано', 0),
  ('cveta_izgiby_svechenie_chelovek_feja_nebo_zvezdy', 'abstrakcii', '.jpg', 'цвета, изгибы, свечение, человек, фея, небо, звезды', 0),
  ('chernyi_fon_zelenyi_dym_linii', 'abstrakcii', '.jpg', 'черный, фон, зеленый, дым, линии', 0);
 


По поводу желаемой таблицы, то примерно такая структура:

parent_url_alias - берется из поля url_alias
item_url_alias - берется тоже из поля url_alias но это уже будет url элемента
parent_rus_name - русское название категории берется из rus_name
item_rus_name - русское название элемента берется тоже из rus_name
ext - разрешение файла элемента

Неактивен

 

#6 27.03.2012 16:25:47

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Запрос на выборку (соединение таблицы с самой собой)

Akylenok написал:

Может вся загвоздка оттого что я не знаю как мне выбрать из всей таблицы по одной записи каждой категории? smile

select * from tbl_name where is_group=0 group by parent_url_alias;
выберет по одной случайной записи каждой категории.

Неактивен

 

#7 27.03.2012 16:34:03

Akylenok
Участник
Зарегистрирован: 27.05.2010
Сообщений: 15

Re: Запрос на выборку (соединение таблицы с самой собой)

vasya написал:

select * from tbl_name where is_group=0 group by parent_url_alias;
выберет по одной случайной записи каждой категории.

Благодарю! Вы дали мне точку опоры! теперь я переверну мир! smile ну или хотя бы справлюсь с этой задачей.

Неактивен

 

#8 28.03.2012 11:06:44

Akylenok
Участник
Зарегистрирован: 27.05.2010
Сообщений: 15

Re: Запрос на выборку (соединение таблицы с самой собой)

В итоге вот что вчера у меня получилось:

SELECT
    tbl_name.url_alias            AS item_url_alias,
    tbl_name.parent_url_alias    AS parent_url_alias,
    tbl_name.ext            AS ext,
    tbl_name_1.rus_name        AS parent_rus_name,
    SubQuery.count            AS count
FROM
    tbl_name
    LEFT OUTER JOIN tbl_name tbl_name_1
        ON tbl_name.parent_url_alias = tbl_name_1.url_alias
    LEFT OUTER JOIN (
            SELECT
                tbl_name.parent_url_alias,
                count(*) AS count
            FROM
                tbl_name
            GROUP BY
                tbl_name.parent_url_alias) SubQuery
        ON tbl_name.parent_url_alias = SubQuery.parent_url_alias
WHERE
    tbl_name.is_group = 0
GROUP BY
    tbl_name.parent_url_alias


Оптимально ли я поступил или можно было сделать гораздо правильнее?

Отредактированно Akylenok (28.03.2012 11:10:29)

Неактивен

 

#9 28.03.2012 14:57:37

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Запрос на выборку (соединение таблицы с самой собой)

select t.rus_name, t2.* from
(select t1.*, count(*) `count` from tbl_name t1 where is_group=0 group by parent_url_alias) t2
join tbl_name t on t.url_alias=t2.parent_url_alias where t.is_group=1;
только вместо t1.* укажите нужные вам поля

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson