Вътре в списъка имам предмет: магазин. Магазинът има същия идентификационен номер, но различен group_id. Основният ключ е shop_id, group_id
Първият път, когато покажа списъка, искам да групирам тези 2 (тъй като той е един и същ магазин) В следващия екран.
Така че, моята заявка е:
SELECT * FROM TABLE_SHOP GROUP BY ID
Но тогава, когато го обработвам, трябва да отделя магазини с поле "done" = 0/1
ако е направено = 1, ще деактивирам елемента.
Опитах се да добави клауза:
SELECT * FROM TABLE_SHOP GROUP BY ID HAVING DONE =0
Но след това, когато се направи, магазинът вече не се показва в списъка (вместо да се показва едно деактивирано и едно разрешено)
Някаква идея за това какво не е в списъка?
РЕДАКТИРАНЕ :
Промених името на полетата, за да съответствам на картината. В този случай искам да покажа списъка. Първият път, когато го покажа (всички попълнени полета в 0), искам магазин 25975 (2 записа) да се появи само веднъж (затова използвах GROUP BY)
След това, когато обработвам магазин, той ще актуализира попълненото си поле на 1.
Така че в този момент не искам вече да групирам 2 реда. Това е по-ясно?
Отговори:
0 за отговор № 1Целта на клаузата HAVING е да се филтрира, като се използват агрегирани функции. Опитайте това вместо това: SELECT * FROM TABLE_TIENDA КЪДЕТО TIENDA_DONE = 0 ГРУПА ПО TIENDA_ID
0 за отговор № 2
Направих го да работи.
Запитването беше:
SELECT * FROM TABLE_TIENDA WHERE TIENDA_DONE = 0 GROUP BY TIENDA_ID, DONE
Tx за вашата помощ