2014-07-09 95 views
0

在列表中,我有一個項目:商店。 商店有相同的ID,但不同的group_id。 主要關鍵是shop_id,group_idGROUP BY/HAVING CLAUSE在Sqlite中失敗

我第一次顯示列表時,我想將這些2(因爲它是同一家店) 在下一個屏幕。

所以,我的查詢是:

SELECT * FROM TABLE_SHOP GROUP BY ID 

但後來,當我處理它,我需要單獨與現場的商店 「完成」= 0/1

如果做= 1,我將禁用該元素。

我嘗試添加一個條款:

SELECT * FROM TABLE_SHOP GROUP BY ID HAVING DONE =0 

但是,當一個完成時,店方不再出現在列表中。 (而不是顯示一個禁用,一個啓用)

任何想法列表中失敗?

編輯:

table

我改變字段名稱相匹配的圖片。 在這種情況下,我想顯示列表。 我第一次展示它(所有完成的領域在0),我想商店25975(2記錄)只出現一次(這就是爲什麼我使用GROUP BY)

然後,當我處理一家商店時,它會更新他完成的領域爲1.

所以在這一刻,我不想再分組這兩行了。它更清晰?

回答

0

我得到它的工作。

的查詢是:

SELECT * FROM TABLE_TIENDA WHERE TIENDA_DONE = 0 GROUP BY TIENDA_ID, DONE 

的Tx對您有所幫助

0

HAVING子句的用途是使用聚合函數進行過濾。 試試這個: SELECT * FROM TABLE_TIENDA WHERE TIENDA_DONE = 0 GROUP BY TIENDA_ID

+0

但在這裏,我不會看到有TIENDA_DONE = 1。我需要保持它在列表中,店讓我可以'禁用它 –

+0

所以,你想要所有的商店都可見?如果是這樣,你認爲「分開商店」是什麼意思?如果您希望「完成」商店與「撤消」分離,例如所有「完成」商店都是列表的頂部,您可以使用ORDER BY子句: SELECT * FROM TABLE_TIENDA ORDER BY TIENDA_DONE,TIENDA_ID,GROUP_ID。 –

+0

當tienda_done = 0時,我想先對它們進行分組。 –