Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
Author |
Topic |
fabri
Starting Member
16 Posts |
Posted - 2011-01-25 : 05:04:37
|
Guys below is a sample of data I get from one of our tables, in the application user friendly id column i have duplicate incidents(INC). We basically only pull the incidents where the SLACATEGORY = 0 as most of them have duplicate SLACATEGORY = 1 fields. Now as i said to prevent duplication we exclde the 1's. In rare cases we can have a single incident who's SLACATEGORY = 1. Now as it's the only entry we want to see this one. How do i pull this in without duplicating the others?INCIDENT_NO SLA CAT CREATE DATE SUBMITTER REQUESTID MEASURE PREVINC000000013547 0 1293873289 c17172341 000000000016409 7 7INC000000013547 1 1293873288 c17172341 000000000016408 5 9INC000000013549 0 1293875089 c17172341 000000000016412 4 1INC000000013549 1 1293875088 c17172341 000000000016411 2 1INC000000013554 1 1293876831 c17172341 000000000016415 2 7INC000000013554 0 1293876831 c17172341 000000000016414 4 1INC000000013555 1 1293876782 a120518 000000000016413 2 7INC000000013556 1 1293876901 a120518 000000000016416 2 7INC000000013557 1 1293877389 c17172341 000000000016417 2 7INC000000013557 0 1293877390 c17172341 000000000016418 4 1INC000000013558 1 1293877527 a120518 000000000016419 2 7Live for something or die for nothing |
|
RickD
Slow But Sure Yak Herding Master
3608 Posts |
Posted - 2011-01-25 : 05:55:42
|
How about something along these lines?SELECT DISTINCT INCIDENT_NO , MIN(SLA) , MIN(CAT) , MIN(SUBMITTER) , MIN(REQUESTID) , MIN(MEASURE) , MIN(PREV)FROM @tabGROUP BY INCIDENT_NO |
|
|
fabri
Starting Member
16 Posts |
Posted - 2011-01-25 : 06:20:33
|
Hi I Tried this, i get a grouping error. What i thought to try was if i could get a count of the incident thenuse this to determine if i filter on the category = 0. as it the incident only appears once i want to see it regardless of it's category. But sql keeps giving me errorsLive for something or die for nothing |
|
|
RickD
Slow But Sure Yak Herding Master
3608 Posts |
Posted - 2011-01-25 : 06:51:14
|
OK, don't know what you mean by a grouping error, but if you are using 2005 or above, you can do this instead..SELECT INCIDENT_NO , SLA , CAT , SUBMITTER , REQUESTID , MEASURE , PREVFROM( SELECT DISTINCT ROW_NUMBER() OVER (PARTITION BY INCIDENT_NO ORDER BY INCIDENT_NO, SLA) AS rownum , INCIDENT_NO , SLA , CAT , SUBMITTER , REQUESTID , MEASURE , PREV FROM @tab) aWHERE a.Rownum = 1 |
|
|
fabri
Starting Member
16 Posts |
Posted - 2011-01-25 : 06:52:24
|
Hi guys I think i got my query to work in part, i managed to get the count of the categories working with the following codeSELECT INCIDENT_NUMBER, COUNT(SLACATEGORY)FROM HPD_HELP_DESK, SLM_MEASUREMENTWHERE submit_date >= 1295474400 and measurementstatus not in (6,8)AND INCIDENT_NUMBER=APPLICATIONUSERFRIENDLYIDGROUP BY INCIDENT_NUMBER, DESCRIPTIONorder by incident_numbernow based on this I need to based on the count of the SLA Category do two things, if it's a 1 i need to bring back that incident number and then pull all incidents that are = to that incident result. Else if the count is >1 i need to apply my standard filtering. how can i do that. Basically i need a nested select with a case statement....Told you guys this is a tough one.Live for something or die for nothing |
|
|
RickD
Slow But Sure Yak Herding Master
3608 Posts |
Posted - 2011-01-25 : 07:09:46
|
Can you explain that a bit more. Have a look at my above query. Is that the result you are after? |
|
|
fabri
Starting Member
16 Posts |
Posted - 2011-01-25 : 07:18:13
|
Here is the whole original query, the issue with this is i get all the incidents where the SLACATEGORY = 0 or is null, 0 basically means and sla, so we want all the incidents with a sla on no sla, in this list though we also get ola's(1) now the only time we want to see that is if it's the only value in the list. Hence me wanting to base it on a count. Else it will duplicate most incidents as about 90% have sla's and ola's, but its the 10: with just ola's we're dropping.SELECT ARADMIN.HPD_HELP_DESK.INCIDENT_NUMBER, datetime_funx(ARADMIN.HPD_HELP_DESK.SUBMIT_DATE) AS "SUBMITTED DATE", ARADMIN.HPD_HELP_DESK.PRODUCT_NAME AS PRODUCT_CATEGORIZATION_TIER_3, ARADMIN.HPD_HELP_DESK.CLOSURE_PRODUCT_NAME AS CLOSURE_PRODUCT_CATEGORY_TIER3, INCIDENT_STATUS.STATUS, PRIORITY.PRIORITY, ARADMIN.HPD_HELP_DESK.GROUP_TRANSFERS, ARADMIN.HPD_HELP_DESK.CATEGORIZATION_TIER_1, PRIORITY.PRIORITY_CODE, ARADMIN.HPD_HELP_DESK.ASSIGNED_SUPPORT_ORGANIZATION, ARADMIN.HPD_HELP_DESK.VENDOR_ORGANIZATION, ARADMIN.HPD_HELP_DESK.FIRST_NAME, ARADMIN.HPD_HELP_DESK.PRODUCT_CATEGORIZATION_TIER_1, ARADMIN.HPD_HELP_DESK.CLOSURE_PRODUCT_CATEGORY_TIER1, ARADMIN.HPD_HELP_DESK.SERVICE_TYPE, TO_CHAR(datetime_funx(ARADMIN.HPD_HELP_DESK.SUBMIT_DATE), 'YYYY') AS YEAR, TO_CHAR(datetime_funx(ARADMIN.HPD_HELP_DESK.SUBMIT_DATE), 'Month') AS MONTH, ARADMIN.SLM_MEASUREMENT.OVERALLELAPSEDTIMEMIN AS MTTR, ARADMIN.HPD_HELP_DESK.GENERIC_CATEGORIZATION_TIER_1, TO_CHAR(datetime_funx(ARADMIN.HPD_HELP_DESK.SUBMIT_DATE), 'MM') AS MON, TO_CHAR(datetime_funx(ARADMIN.HPD_HELP_DESK.SUBMIT_DATE), 'dd') AS DAY, ARADMIN.HPD_HELP_DESK.ASSIGNED_GROUP, ARADMIN.HPD_HELP_DESK.CLOSURE_PRODUCT_NAME AS TIER4, ARADMIN.HPD_HELP_DESK.SITE AS HPDDEPT, ARADMIN.HPD_HELP_DESK.PRODUCT_NAME, INCIDENT_STATUS_REASON."Status Reason", ARADMIN.HPD_HELP_DESK.ASSIGNEE_LOGIN_ID AS ASSIGNEE_ID, UPPER(INCIDENT_ALIAS.ALIAS) AS ORGANIZATION2, ARADMIN.HPD_HELP_DESK.COST_CENTER, COST_CENTRE_REFERENCE.GROUPING AS ORGANIZATION_OLD, ARADMIN.HPD_HELP_DESK.GEONET, INCIDENT_STATUS.STATUS_CODE, ARADMIN.HPD_HELP_DESK.SUBMIT_DATE, ARADMIN.HPD_HELP_DESK.SUBMITTER, ARADMIN.SLM_MEASUREMENT.MEASUREMENTSTATUS, ARADMIN.SLM_MEASUREMENT.SLACATEGORYFROM ARADMIN.HPD_HELP_DESK INNER JOIN PRIORITY ON ARADMIN.HPD_HELP_DESK.PRIORITY = PRIORITY.PRIORITY_CODE INNER JOIN INCIDENT_STATUS ON ARADMIN.HPD_HELP_DESK.STATUS = INCIDENT_STATUS.STATUS_CODE LEFT OUTER JOIN COST_CENTRE_REFERENCE ON ARADMIN.HPD_HELP_DESK.COST_CENTER = COST_CENTRE_REFERENCE.COST_CENTRE LEFT OUTER JOIN INCIDENT_ALIAS ON ARADMIN.HPD_HELP_DESK."ORGANIZATION" = INCIDENT_ALIAS."ORGANIZATION" LEFT OUTER JOIN INCIDENT_STATUS_REASON ON ARADMIN.HPD_HELP_DESK.STATUS_REASON = INCIDENT_STATUS_REASON."Inc Status Reason Code" LEFT OUTER JOIN ARADMIN.SLM_MEASUREMENT ON ARADMIN.HPD_HELP_DESK.INCIDENT_NUMBER = ARADMIN.SLM_MEASUREMENT.APPLICATIONUSERFRIENDLYIDWHERE (INCIDENT_STATUS.STATUS_CODE < 6) AND (ARADMIN.HPD_HELP_DESK.SUBMIT_DATE BETWEEN 1293832800 AND 1296511200) AND (NOT (ARADMIN.SLM_MEASUREMENT.MEASUREMENTSTATUS IN (6, 8)) OR ARADMIN.SLM_MEASUREMENT.MEASUREMENTSTATUS IS NULL) AND (ARADMIN.SLM_MEASUREMENT.SLACATEGORY IN (0) OR ARADMIN.SLM_MEASUREMENT.SLACATEGORY IS NULL) AND (ARADMIN.HPD_HELP_DESK.SBSA_ENVIRONMENT IN (0) OR ARADMIN.HPD_HELP_DESK.SBSA_ENVIRONMENT IS NULL) AND (NOT (ARADMIN.HPD_HELP_DESK.SUBMITTER IN ('TWS_USER')) OR ARADMIN.HPD_HELP_DESK.SUBMITTER IS NULL)ORDER BY ARADMIN.HPD_HELP_DESK.INCIDENT_NUMBERLive for something or die for nothing |
|
|
fabri
Starting Member
16 Posts |
Posted - 2011-01-25 : 07:28:08
|
Also can you maybe explain what your block of code is doing i'm still green with thisLive for nothing or Die for something |
|
|
RickD
Slow But Sure Yak Herding Master
3608 Posts |
Posted - 2011-01-25 : 08:15:22
|
Basically, my code adds a row number partitioned by the incident id, on your original example, it would add a column at the beginning:1 INC000000013547 0 1293873289 c17172341 000000000016409 7 72 INC000000013547 1 1293873288 c17172341 000000000016408 5 91 INC000000013549 0 1293875089 c17172341 000000000016412 4 12 INC000000013549 1 1293875088 c17172341 000000000016411 2 11 INC000000013554 0 1293876831 c17172341 000000000016414 4 12 INC000000013554 1 1293876831 c17172341 000000000016415 2 71 INC000000013555 1 1293876782 a120518 000000000016413 2 71 INC000000013556 1 1293876901 a120518 000000000016416 2 71 INC000000013557 0 1293877390 c17172341 000000000016418 4 12 INC000000013557 1 1293877389 c17172341 000000000016417 2 71 INC000000013558 1 1293877527 a120518 000000000016419 2 7and re-order the results, then it would only get those where the Rownum field = 1 (the rows you need to return).BTW - Are you using Oracle?!? TO_CHAR is not a SQL Server function. If so, then my code will not work for you and you would be better off trying an oracle forum as you will get results pertaining to that product there. |
|
|
RickD
Slow But Sure Yak Herding Master
3608 Posts |
Posted - 2011-01-25 : 08:26:16
|
If your database was SQL Server, the following code would do the job for you (with all your date functions and TO_CHAR removed as can't be bothered to change them to T-SQL):SELECT *FROM ( SELECT ROW_NUMBER() OVER (PARTITION BY ARADMIN.HPD_HELP_DESK.INCIDENT_NUMBER ORDER BY ARADMIN.HPD_HELP_DESK.INCIDENT_NUMBER, ARADMIN.SLM_MEASUREMENT.SLACATEGORY ASC) Rownum ARADMIN.HPD_HELP_DESK.INCIDENT_NUMBER -- , datetime_funx(ARADMIN.HPD_HELP_DESK.SUBMIT_DATE) AS "SUBMITTED DATE" , ARADMIN.HPD_HELP_DESK.PRODUCT_NAME AS PRODUCT_CATEGORIZATION_TIER_3 , ARADMIN.HPD_HELP_DESK.CLOSURE_PRODUCT_NAME AS CLOSURE_PRODUCT_CATEGORY_TIER3 , INCIDENT_STATUS.STATUS , PRIORITY.PRIORITY , ARADMIN.HPD_HELP_DESK.GROUP_TRANSFERS , ARADMIN.HPD_HELP_DESK.CATEGORIZATION_TIER_1 , PRIORITY.PRIORITY_CODE , ARADMIN.HPD_HELP_DESK.ASSIGNED_SUPPORT_ORGANIZATION , ARADMIN.HPD_HELP_DESK.VENDOR_ORGANIZATION , ARADMIN.HPD_HELP_DESK.FIRST_NAME , ARADMIN.HPD_HELP_DESK.PRODUCT_CATEGORIZATION_TIER_1 , ARADMIN.HPD_HELP_DESK.CLOSURE_PRODUCT_CATEGORY_TIER1 , ARADMIN.HPD_HELP_DESK.SERVICE_TYPE -- , TO_CHAR(datetime_funx(ARADMIN.HPD_HELP_DESK.SUBMIT_DATE), 'YYYY') AS YEAR -- , TO_CHAR(datetime_funx(ARADMIN.HPD_HELP_DESK.SUBMIT_DATE), 'Month') AS MONTH , ARADMIN.SLM_MEASUREMENT.OVERALLELAPSEDTIMEMIN AS MTTR , ARADMIN.HPD_HELP_DESK.GENERIC_CATEGORIZATION_TIER_1 -- , TO_CHAR(datetime_funx(ARADMIN.HPD_HELP_DESK.SUBMIT_DATE), 'MM') AS MON -- , TO_CHAR(datetime_funx(ARADMIN.HPD_HELP_DESK.SUBMIT_DATE), 'dd') AS DAY, ARADMIN.HPD_HELP_DESK.ASSIGNED_GROUP , ARADMIN.HPD_HELP_DESK.CLOSURE_PRODUCT_NAME AS TIER4 , ARADMIN.HPD_HELP_DESK.SITE AS HPDDEPT , ARADMIN.HPD_HELP_DESK.PRODUCT_NAME , INCIDENT_STATUS_REASON."Status Reason" , ARADMIN.HPD_HELP_DESK.ASSIGNEE_LOGIN_ID AS ASSIGNEE_ID , UPPER(INCIDENT_ALIAS.ALIAS) AS ORGANIZATION2 , ARADMIN.HPD_HELP_DESK.COST_CENTER , COST_CENTRE_REFERENCE.GROUPING AS ORGANIZATION_OLD , ARADMIN.HPD_HELP_DESK.GEONET , INCIDENT_STATUS.STATUS_CODE , ARADMIN.HPD_HELP_DESK.SUBMIT_DATE , ARADMIN.HPD_HELP_DESK.SUBMITTER , ARADMIN.SLM_MEASUREMENT.MEASUREMENTSTATUS , ARADMIN.SLM_MEASUREMENT.SLACATEGORY FROM ARADMIN.HPD_HELP_DESK INNER JOIN PRIORITY ON ARADMIN.HPD_HELP_DESK.PRIORITY = PRIORITY.PRIORITY_CODE INNER JOIN INCIDENT_STATUS ON ARADMIN.HPD_HELP_DESK.STATUS = INCIDENT_STATUS.STATUS_CODE LEFT OUTER JOIN COST_CENTRE_REFERENCE ON ARADMIN.HPD_HELP_DESK.COST_CENTER = COST_CENTRE_REFERENCE.COST_CENTRE LEFT OUTER JOIN INCIDENT_ALIAS ON ARADMIN.HPD_HELP_DESK."ORGANIZATION" = INCIDENT_ALIAS."ORGANIZATION" LEFT OUTER JOIN INCIDENT_STATUS_REASON ON ARADMIN.HPD_HELP_DESK.STATUS_REASON = INCIDENT_STATUS_REASON."Inc Status Reason Code" LEFT OUTER JOIN ARADMIN.SLM_MEASUREMENT ON ARADMIN.HPD_HELP_DESK.INCIDENT_NUMBER = ARADMIN.SLM_MEASUREMENT.APPLICATIONUSERFRIENDLYID WHERE (INCIDENT_STATUS.STATUS_CODE < 6) AND (ARADMIN.HPD_HELP_DESK.SUBMIT_DATE BETWEEN 1293832800 AND 1296511200) AND (NOT (ARADMIN.SLM_MEASUREMENT.MEASUREMENTSTATUS IN (6, 8)) OR ARADMIN.SLM_MEASUREMENT.MEASUREMENTSTATUS IS NULL) AND (ARADMIN.SLM_MEASUREMENT.SLACATEGORY IN (0) OR ARADMIN.SLM_MEASUREMENT.SLACATEGORY IS NULL) AND (ARADMIN.HPD_HELP_DESK.SBSA_ENVIRONMENT IN (0) OR ARADMIN.HPD_HELP_DESK.SBSA_ENVIRONMENT IS NULL) AND (NOT (ARADMIN.HPD_HELP_DESK.SUBMITTER IN ('TWS_USER')) OR ARADMIN.HPD_HELP_DESK.SUBMITTER IS NULL) ORDER BY ARADMIN.HPD_HELP_DESK.INCIDENT_NUMBER ) aWHERE a.Rownum = 1 |
|
|
fabri
Starting Member
16 Posts |
Posted - 2011-01-26 : 01:21:56
|
Hi i tried the code you supplied but for some reason it started dropping a few of the incidents where the slacategory = 0 so i tried the following code and this seems to get what i want.select applicationuserfriendlyid, slacategory, measurementstatus, rank() over(PARTITION BY applicationuserfriendlyid ORDER BY slacategory) AS FABRIfrom slm_measurementwhere measurementstatus not in (6,8)Live for nothing or Die for something |
|
|
fabri
Starting Member
16 Posts |
Posted - 2011-01-26 : 01:50:24
|
Ok this gives me exactly the rows i want, now how do i go about liking this to my other table and extracting what i need?SELECT * FROM(select applicationuserfriendlyid, slacategory, measurementstatus, rank() over(PARTITION BY applicationuserfriendlyid ORDER BY slacategory) FABRI from slm_measurementwhere measurementstatus not in (6,8) AND CREATE_DATE >= 1293832800) THEKINGWHERE THEKING.FABRI = 1Live for nothing or Die for something |
|
|
fabri
Starting Member
16 Posts |
Posted - 2011-01-26 : 02:06:38
|
Hi the code above is dropping values where the slacategory is null, do you know how to include these?Live for nothing or Die for something |
|
|
fabri
Starting Member
16 Posts |
Posted - 2011-01-26 : 02:22:55
|
Hi please ignore the post above this i had a blond moment, i'll onlt get the nulls when i link to the incident tableLive for nothing or Die for something |
|
|
fabri
Starting Member
16 Posts |
Posted - 2011-01-26 : 03:47:18
|
Hi guys I solved it, I looked up the rank function rick used, i messed around with it a bit and i got it to work and it looks like i got what i need. Rick thanks very much for the help you da man.SELECT *FROM (SELECT (rank() over(PARTITION BY ARADMIN.HPD_HELP_DESK.INCIDENT_NUMBER ORDER BY SLACATEGORY)) AS FABRI, INCIDENT_NUMBER, ARADMIN.SLM_MEASUREMENT.SLACATEGORY, datetime_funx(ARADMIN.HPD_HELP_DESK.SUBMIT_DATE) AS "SUBMITTED DATE", ARADMIN.HPD_HELP_DESK.PRODUCT_NAME AS PRODUCT_CATEGORIZATION_TIER_3, ARADMIN.HPD_HELP_DESK.CLOSURE_PRODUCT_NAME AS CLOSURE_PRODUCT_CATEGORY_TIER3, INCIDENT_STATUS.STATUS, PRIORITY.PRIORITY, ARADMIN.HPD_HELP_DESK.GROUP_TRANSFERS, ARADMIN.HPD_HELP_DESK.CATEGORIZATION_TIER_1, PRIORITY.PRIORITY_CODE, ARADMIN.HPD_HELP_DESK.ASSIGNED_SUPPORT_ORGANIZATION, ARADMIN.HPD_HELP_DESK.VENDOR_ORGANIZATION, ARADMIN.HPD_HELP_DESK.FIRST_NAME, ARADMIN.HPD_HELP_DESK.PRODUCT_CATEGORIZATION_TIER_1, ARADMIN.HPD_HELP_DESK.CLOSURE_PRODUCT_CATEGORY_TIER1, ARADMIN.HPD_HELP_DESK.SERVICE_TYPE, TO_CHAR(datetime_funx(ARADMIN.HPD_HELP_DESK.SUBMIT_DATE), 'YYYY') AS YEAR, TO_CHAR(datetime_funx(ARADMIN.HPD_HELP_DESK.SUBMIT_DATE), 'Month') AS MONTH, ARADMIN.SLM_MEASUREMENT.OVERALLELAPSEDTIMEMIN AS MTTR, ARADMIN.HPD_HELP_DESK.GENERIC_CATEGORIZATION_TIER_1, TO_CHAR(datetime_funx(ARADMIN.HPD_HELP_DESK.SUBMIT_DATE), 'MM') AS MON, TO_CHAR(datetime_funx(ARADMIN.HPD_HELP_DESK.SUBMIT_DATE), 'dd') AS DAY, ARADMIN.HPD_HELP_DESK.ASSIGNED_GROUP, ARADMIN.HPD_HELP_DESK.CLOSURE_PRODUCT_NAME AS TIER4, ARADMIN.HPD_HELP_DESK.SITE AS HPDDEPT, ARADMIN.HPD_HELP_DESK.PRODUCT_NAME, INCIDENT_STATUS_REASON."Status Reason", ARADMIN.HPD_HELP_DESK.ASSIGNEE_LOGIN_ID AS ASSIGNEE_ID, UPPER(INCIDENT_ALIAS.ALIAS) AS ORGANIZATION2, ARADMIN.HPD_HELP_DESK.COST_CENTER, COST_CENTRE_REFERENCE.GROUPING AS ORGANIZATION_OLD, ARADMIN.HPD_HELP_DESK.GEONET, INCIDENT_STATUS.STATUS_CODE, ARADMIN.HPD_HELP_DESK.SUBMIT_DATE, ARADMIN.HPD_HELP_DESK.SUBMITTER, ARADMIN.SLM_MEASUREMENT.MEASUREMENTSTATUSFROM ARADMIN.HPD_HELP_DESK INNER JOIN PRIORITY ON ARADMIN.HPD_HELP_DESK.PRIORITY = PRIORITY.PRIORITY_CODE INNER JOIN INCIDENT_STATUS ON ARADMIN.HPD_HELP_DESK.STATUS = INCIDENT_STATUS.STATUS_CODE LEFT OUTER JOIN COST_CENTRE_REFERENCE ON ARADMIN.HPD_HELP_DESK.COST_CENTER = COST_CENTRE_REFERENCE.COST_CENTRE LEFT OUTER JOIN INCIDENT_ALIAS ON ARADMIN.HPD_HELP_DESK."ORGANIZATION" = INCIDENT_ALIAS."ORGANIZATION" LEFT OUTER JOIN INCIDENT_STATUS_REASON ON ARADMIN.HPD_HELP_DESK.STATUS_REASON = INCIDENT_STATUS_REASON."Inc Status Reason Code" LEFT OUTER JOIN ARADMIN.SLM_MEASUREMENT ON ARADMIN.HPD_HELP_DESK.INCIDENT_NUMBER = ARADMIN.SLM_MEASUREMENT.APPLICATIONUSERFRIENDLYIDWHERE (INCIDENT_STATUS.STATUS_CODE < 6) AND (ARADMIN.HPD_HELP_DESK.SUBMIT_DATE BETWEEN 1293832800 AND 1296511200) AND (NOT (ARADMIN.SLM_MEASUREMENT.MEASUREMENTSTATUS IN (6, 8)) OR ARADMIN.SLM_MEASUREMENT.MEASUREMENTSTATUS IS NULL) AND (ARADMIN.HPD_HELP_DESK.SBSA_ENVIRONMENT IN (0) OR ARADMIN.HPD_HELP_DESK.SBSA_ENVIRONMENT IS NULL) AND (NOT (ARADMIN.HPD_HELP_DESK.SUBMITTER IN ('TWS_USER')) OR ARADMIN.HPD_HELP_DESK.SUBMITTER IS NULL)ORDER BY ARADMIN.HPD_HELP_DESK.INCIDENT_NUMBER) THEKINGWHERE THEKING.FABRI = 1Live for nothing or Die for something |
|
|
|
|
|
|
|