Ben her birinin başına 5 etiketleri ile 10 satır bir aralık alabilirsiniz bir sorgu yapmak istiyorum.
I houses
ve tags
tablo, sadece bir SELECT
LIMIT
kullanarak basit sorgular için bunu yapmak için nasıl biliyorum ama ben nasıl Bu durumda bunu?
table houses
id house country
1 Grunt Mansion us
2 Hororo Suneku jp
3 Casa Cattani it
4 Sweet Home uk
5 Heinzvaiter de
6 F56X-5 us
7 Swan Jong cn
8 Drupnowevo ru
9 Bambagiador br
10 El Stanco es
table houses_tags
id id_house id_tag
1 1 1
2 1 2
3 1 3
4 1 4
5 2 1
6 2 2
7 2 3
8 2 4
table tags
id tag
1 minimal
2 baroque
3 cosy
4 simple
Bir yalandan ilk 10 ev almak için böyle bir sorgu ise:
SELECT *
FROM houses
LEFT JOIN (
SELECT *
FROM tags
INNER JOIN houses_tags
ON id_house = houses.id
LIMIT 5
) house_tag
LIMIT 0, 10
Ben böyle bir şey olsun:
query result
row house country tag id_house id_tag
1 Grunt Mansion us minimal 1 1
2 Grunt Mansion us baroque 1 2
3 Grunt Mansion us cosy 1 3
4 Grunt Mansion us simple 1 4
5 Hororo Suneku jp minimal 2 1
6 Hororo Suneku jp baroque 2 2
7 Hororo Suneku jp cosy 2 3
8 Hororo Suneku jp simple 2 4
9 Casa Cattani it NULL NULL NULL
10 Sweet Home uk NULL NULL NULL
Benim sorunum tags
ilk olanları tüm satırları işgal çünkü sorgudan son houses
kesmek sadece ilk 10 satır olsun
Ben ilk 10 evler ve her biri başına 5 etiketi alabileceğiniz bir sorgu yazabilirsiniz?
query result
row house country tag id_house id_tag
1 Grunt Mansion us minimal 1 1
2 Grunt Mansion us baroque 1 2
3 Grunt Mansion us cosy 1 3
4 Grunt Mansion us simple 1 4
5 Hororo Suneku jp minimal 2 1
6 Hororo Suneku jp baroque 2 2
7 Hororo Suneku jp cosy 2 3
8 Hororo Suneku jp simple 2 4
9 Casa Cattani it NULL NULL NULL
10 Sweet Home uk NULL NULL NULL
11 Heinzvaiter de NULL NULL NULL
12 F56X-5 us NULL NULL NULL
13 Swan Jong cn NULL NULL NULL
14 Drupnowevo ru NULL NULL NULL
15 Bambagiador br NULL NULL NULL
16 El Stanco es NULL NULL NULL
Sonunda ben bu örnekteki gibi gösterilecek bir sonuç gerektiğinde:
Mansions Tags
Grunt Mansion minimal, baroque, cosy, simple
Hororo Suneku minimal, baroque, cosy, simple
Casa Cattani -
Sweet Home -
Heinzvaiter -
F56X-5 -
Swan Jong -
Drupnowevo -
Bambagiador -
El Stanco -
pages 1 | 2 | 3
Ben bunu yapabilirim?