2012-02-24 25 views
0

我有一個看起來像這樣的數據庫:在where子句之前進行分組和排序?

ID parent ticket category _record_status _log_user _log_timestamp   _log_type 
------------------------------------------------------------------------------------------------ 
1 1  1  1   active   1   2012-01-29 15:49:21 create 
2 1  1  1   deleted   1   2012-01-29 15:52:14 destroy 
3 3  1  2   active   1   2012-01-29 15:58:43 create 

我希望能夠選擇未在指定票刪除所有記錄。但是,由於修訂體系,這很困難。

有沒有辦法通過SQL是有效的做到這一點,或者它會更好,只是做到這一點在PHP中,考慮到每張門票只能有平均幾個記錄。我懷疑任何一張票在它的一生中會獲得超過100條記錄。

+2

我真的不明白你的描述。根據您的示例數據,您希望的輸出是什麼? (我假設你只是不想'SELECT * FROM ____ WHERE票= ___和_record_status <>「deleted''?) – ruakh 2012-02-24 15:56:41

+0

您需要關於爲什麼修訂系統使這款硬盤更詳細一點?您樣本的預期輸出可能會有所幫助。因爲它的立場選擇*其中門票= 1和_record_status <>「已刪除」,似乎做... – Paddy 2012-02-24 15:57:46

+0

爲什麼你就不能使用「其中」條款? – bc004346 2012-02-24 15:58:44

回答

2
select * 
from YourTable 
where _record_status <> 'deleted' 
and ticket = @yourTicketId 

這是你在找什麼?

+0

我認爲它更復雜,因爲它看起來像一個記錄可以刪除和刪除。看到我的答案(使用存在) – JNK 2012-02-24 15:58:24

+0

@Shark這實際上會適用於這個特定的表,但我有其他表中有實際的修訂。出於某種原因,我正在推翻這一個.... – 2012-02-24 15:59:18

1

的Sql!

SELECT ..... 
FROM ..... 
WHERE _record_status!="deleted" AND ticket=X