MySQL Query: ОГРАНИЧЕНИЕ СОЕДИНЕНИЯ

Похоже, вы пытались привести «android.support.v7.widget.GridLayout» в «android.widget.GridLayout».

Внутри строки кода 102 в вашей основной деятельности (из добавленной вами ошибки). Вы не можете разыграть это, и именно поэтому ваше приложение зависло.

Если вы хотите, чтобы все работало на вас - решите, хотите ли вы использовать макет сетки или компоновку сетки поддержки и использовать ее без другого (если вы выбрали опцию a, вам нужно привести ее к варианту a и наоборот).

5
задан Taryn 16 July 2013 в 01:37
поделиться

3 ответа

Просто сделанный быстрый тест. Это, кажется, работает:

mysql> select * from categories c, items i
    -> where i.categoryid = c.id
    -> group by c.id;
+------+---------+------+------------+----------------+
| id   | name    | id   | categoryid | name           |
+------+---------+------+------------+----------------+
|    1 | Cars    |    1 |          1 | Ford           |
|    2 | Games   |    4 |          2 | Tetris         |
|    3 | Pencils |    6 |          3 | Pencil Factory |
+------+---------+------+------------+----------------+
3 rows in set (0.00 sec)

Я думаю, что это выполнило бы Ваш первый вопрос. Не уверенный во втором - я думаю, что нуждается во внутреннем запросе с порядком случайным () или что-то как этот!

6
ответ дан 14 December 2019 в 13:51
поделиться

Mysql позволяет, включают не совокупные столбцы и нет никакой гарантии детерминизма, но по моему опыту я почти всегда получаю первые значения.

Так обычно (но не гарантируемое) это даст Вам первое

select * 
from categories c, items i
where i.categoryid = c.id
group by c.id;

Если Вы хотите, гарантировал, что необходимо будет сделать что-то как

select categories.id, categories.name, items.id, items.name
from categories inner join
  items on items.categoryid = categories.id and 
     items.id = (select min(items2.id) from items as items2 where items2.categoryid = category.id)

Если Вы хотите случайные ответы, необходимо будет изменить подзапрос немного

 select categories.id, categories.name, items.id, items.name
    from categories inner join
      items on items.categoryid = categories.id and 
         items.id = (select items2.id from items as items2 where items2.categoryid = category.id order by rand() limit 1)
0
ответ дан 14 December 2019 в 13:51
поделиться

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

    select category.id, category.name, itemid, itemname
    inner join 
      (select item.categoryid, item.id as itemid, item.name as itemname
       from item group by categoryid)
    on category.id = categoryid

Или, для минимумов,

select category.id, category.name, itemid, itemname
inner join 
  (select item.categoryid, min(item.id) as itemid, item.name as itemname
  from items
  group by item.categoryid)
on category.id = categoryid
0
ответ дан 14 December 2019 в 13:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: