Gangmax Blog

A SQL statement

今天daily build DB建表有问题,在console的出错信息里面看到这么一条SQL语句:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
SELECT Users.ID, Users.GUID, Users.USERNAME, Users.USER_TYPE, 
(SELECT value FROM domain_values dv WHERE dv.ID= Users.User_Type ) AS USERTYPEVA,
Users.DATE_FORMAT,
(SELECT value FROM domain_values dv WHERE dv.ID= Users.Date_Format ) AS DATE_FORMAT_VALUE,
Users.EMAIL1, Users.EMAIL1_NOTIFICATION_FLAG,
Users.EMAIL2, Users.EMAIL2_NOTIFICATION_FLAG,
Users.EMAIL3, Users.EMAIL3_NOTIFICATION_FLAG,
Users.FIRST_NAME, Users.HOME_PAGE, Users.IS_USER, Users.LANGUAGE,
(SELECT value FROM domain_values dv WHERE dv.ID= Users.Language ) AS LANGUAGEVA,
Users.LAST_NAME,
Users.PHONE_NUMBER1, Users.PHONE_NUMBER1_TYPE,
(SELECT value FROM domain_values dv WHERE dv.ID= Users.Phone_Number1_Type ) AS PHONENUMBER1TYPEVA,
Users.PHONE_NUMBER2, Users.PHONE_NUMBER2_TYPE,
(SELECT value FROM domain_values dv WHERE dv.ID= Users.Phone_Number2_Type ) AS PHONENUMBER2TYPEVA,
Users.PHONE_NUMBER3, Users.PHONE_NUMBER3_TYPE,
(SELECT value FROM domain_values dv WHERE dv.ID= Users.Phone_Number3_Type ) AS PHONENUMBER3TYPEVA,
Users.TIME_FORMAT,
(SELECT value FROM domain_values dv WHERE dv.ID= Users.Time_Format) AS TIMEFORMATVA,
Users.TIME_ZONE,
(SELECT value FROM domain_values dv WHERE dv.ID= Users.Time_Zone ) AS TIMEZONEVA,
Users.TITLE, Users.CREATED_BY, Users.CREATED_TS, Users.MODIFIED_BY, Users.MODIFIED_TS,
(select dv.value from domain_values dv, domains d where d.name='USER STATUS' and dv.domain_id=d.id and dv.id=Users.Status) AS STATUS
FROM USERS Users
WHERE is_user=1 AND (UPPER(Users.Username) = UPPER('zapstest.oam10@yourdomain.com'))

为啥当初会这样设计database结构?

Comments