2017-05-23 68 views
-1

SELECT t1.id FROM tbl_ticket T1 WHERE NOT EXISTS(轉換MySQL查詢yii2查詢構建器

SELECT 1 FROM tbl_ticket WHERE PARENT_ID = t1.id ) AND PARENT_ID = 0 UNION ALL SELECT MAX(ID) FROM tbl_ticket WHERE PARENT_ID <> 0 GROUP BY PARENT_ID ORDER BY ID ASC

+1

請說明您的具體問題或添加額外的細節,以確切地突出你所需要的。請參閱[如何提問](https://stackoverflow.com/help/how-to-ask)文章來改善您的問題。 **請記住,堆棧溢出不是您的個人在線查詢轉換器**。 – Bizley

+0

ONLINE HELPDESK:tbl_ticket是我們全部保存我們票據信息的地方,在同一張表中,我們還通過創建具有保存在parent_id字段中的原始票證ID的新行來保存票證的歷史記錄。如果將票轉交給其他技術人員,則會發生這種情況。表格模式如下: –

+0

如果傳遞票據,它將在parent_id =它的id的同一個表中創建一個新行,如果它沒有被傳輸,它的parent_id將保持爲0.因此如果傳遞票據,它將創建新的行與自動增量ID。上面的查詢將提取分配給技術人員的所有當前票據。 –

回答

0

這是表結構

CREATE TABLE IF NOT EXISTS tbl_ticketid INT(9)NOT NULL AUTO_INCREMENT, parent_id INT(11)NOT NULL, ticket_title VARCHAR(250)NOT NULL, location_id VARCHAR(250 )字符集Latin1的NOT NULL, status INT(11)NOT NULL, remarks VARCHAR(250)字符集處理latin1 NOT NULL, r_date日期時間NOT NULL, d_date日期時間NOT NULL, hd_user_username VARCHAR(250)字符集處理latin1 NOT NULL, hd_user_email VARCHAR(250)字符集處理latin1 NOT NULL, description VARCHAR(3000)NOT NULL, attachment VARCHAR(250)NOT NULL, created_by VARCHAR(250)NOT NULL, updated_by VARCHAR(250)NOT NULL, room_no VARCHAR(250)NOT NULL, gsm VARCHAR(250)NOT NULL, file_mime_type VARCHAR(250)NOT NULL, file_original_name VARCHAR(250)DEFAULT NULL, file_size VARCHAR(250 )DEFAULT NULL, file_extension varchar(250)DEF AULT NULL, acknowledged VARCHAR(250)DEFAULT NULL, ip_address VARCHAR(20)DEFAULT NULL, hostname VARCHAR(255)DEFAULT NULL, useragent文本, closing_remark VARCHAR(2048)DEFAULT NULL, rating INT(6)DEFAULT NULL, is_student INT(2)DEFAULT NULL, installation INT(1)DEFAULT NULL, type INT(1)DEFAULT NULL, PRIMARY KEY(id) )ENGINE = InnoDB的默認字符集= UTF8 AUTO_INCREMENT = 5427;