Group by best practical question

Consider this example:

TABLE: SALES_DATA

firm_id | sales_amt | d_date | d_data

415. 45. 20090615 | Lincoln Financial
415. 30. 20090531 | Lincoln AG
416. 10. 20081005 | AM General
416. 20. 20080115 | AM General Inc.

I want the output to be grouped by firm_id with the sum of sales_amt and the d_data
This corresponds to the last d_date (i.e. max (d_date))

Application project:

Select sum (sales_amt) total_sales, substr (max (d_data), firm_id, instr (max (d_data), ' ~') + 1) firm_name)
Select firm_id, sales_amt, d_date | '~' || sales_data d_data
)
Firm_id group

output is as expected:

firm_id | total_sales | firm_name

415. 75. Lincoln Financial
416. 30. AM General

I know it works, but my QUESTION is: is there a better way to do and is the method described above to concatenate the columns when you want to group several columns against best practices.

Thank you very much!

Here is a way that uses analytical (I just like them):

SQL> select * from sales_data;

             FIRM_ID            SALES_AMT D_DATE               D_DATA
-------------------- -------------------- -------------------- ------------------------------
                 415                   45 15-JUN-2009 00:00:00 Lincoln Financial
                 415                   30 31-MAY-2009 00:00:00 Lincoln AG
                 416                   10 05-OCT-2008 00:00:00 AM General
                 416                   20 15-JAN-2008 00:00:00 AM General Inc.

SQL> select firm_id, sum_amt, d_data
  2  from
  3  (
  4     select firm_id, d_data
  5           ,sum(sales_amt) over (partition by firm_id) sum_amt
  6           ,row_number() over (partition by firm_id order by d_date desc) rn
  7     from   sales_data
  8  )
  9  where rn = 1
 10  ;

             FIRM_ID              SUM_AMT D_DATA
-------------------- -------------------- ------------------------------
                 415                   75 Lincoln Financial
                 416                   30 AM General

Tags: Database

Similar Questions

  • change the vswitch, best practical question

    Hello

    Here is the scenario, I invited XP and I want to spend the vswitch he connected too.

    Is it safe to simply change the properties of comments in the vshpere client, set up the different vswitch, select ok. (without closing comments)

    Here is what happened last week and I would like to get feedback to see if I did something outside best practices.

    I have a xp machine who's job it is to move files within our company.  In house app, had problems with the performance, of course the bandwidth network has been a problem but also a sustained the 100% CPU usage whenever the application in the House is running. I made a few changes, first I changed the network card to a vswitch with no other guests connected, than giving a non-shared on the network connection to this comments

    I stopped our applications in the House that copies the edited files the client settings, change to the another vswitch, selecting ok...  Everything seemed fine, restarted apps and found no problem.

    The next day, I increased the RAM on the host of Meg 512 to 1024 Meg as the available physical ram was weak, and I suspected disk cache.  Stop the guest computer, editing the memory and it has increased from 1024 to vsphere...  Restarted and is the reason for my questions, which connects to run the application has been corrupted and would not load the profile.

    I should add that the application users often use the method "end task" through windows to complete the process as soon as they are sometimes does not.  Not something I tend to do what I think may be a cause of file corruption.

    My boss suggested that he believes that my approach is the cause of profile corruption, citing specifically the way in which I changed the vswitch that the guest has been connected.  My understanding at this point is that my approach was equivalent to not patch a machine and plug in another switch, and I don't see how, which could cause a windows become corrupt profile.

    Ideas of the community?  Expect honesty burtal if my method is in error.

    Change the who vswitch a virtual computer to connect during operation is perfectly accetable as only the switch that you move to can access the subnet of the virtual computer is configured for - it's like unplugging a [machine to go to an actual physical switch and plug it into a new physical switch -

  • Single user, working on both machines, best practical question

    I use Dreamweaver at home and at work.  I'm working on my sites only.  I have just started working with DW and don't know the best practice to achieve.  The way I do now is through a folder synchronized on both machines that hosts the site.  The establishment is a local folder on the two machines that automatically syncs on the WWW.  I created a site on my machine at home with a folder root for the site and the images and then created another site on my work machine and was pointing at the root sync folders.  Is the best practice for this set to the top.

    I guese that im afraid of is the feature of auto update of links and such to within DW.

    Thank you!

    I have the same configuration and DW Check In / Check Out feature works for me.

    This requires a local copy of the site on home and work machines more copy remotely on the web.

    I have check no matter what files I need to work, modify and then download and archive when I'm done.

    DW manages everything.

  • Best practice Question

    Hello

    I have a question for the experts in this forum. First of all, I'm a guy from network so I apologize in advance for what I am about to ask...

    What is the best appropriate practice when the following three tasks need to happen on an Oracle database. If these use the same port for all three actions, or use different ports, or is it still important?

    1 administration

    2. access to application servers

    3 replication of database

    Just looking for a little education on this subject and I look forward to the answer from the experts. :)

    Thank you

    Ok. So a quick overview of the functioning of connections to Oracle...

    First, everything that connects to the database from outside machine will contact the listener Oracle (a separate process outside the database, but the database server). The listener then hand off the connection to the appropriate database. The listener is normally configured to run on a single port (1521), although you can configure the listener to operate on any desired port or to listen on multiple ports. One can argue that the listener running on a default undefined port improves security because an attacker would have to probe potentially many ports before they found the listener. But it's quite low security account bound to the number of places at the port must be kept.

    On most Unix systems (I mean at all, but I don't know that for sure), all communication with the database is going to happen on the listening port. On most Windows systems, however, the listener will redirect the connection on another port in the range unallocated. Which tends to be a royal pain if you try to connect through a firewall. You can force Windows Server through a single port as Unix (although no doubt there are performance implications to do). You can also use the connections through a firewall proxy Oracle connection manager.

    "Administration", although potentially covers a number of different things. If you speak of "DBA connects to the database via SQL * more to do s/n-ish things", then these connections pass by the listener, there is no change. Buy you can talk about things like using the web-based Enterprise Manager (using HTTP and HTTPS on the database server if you are using the control of the database with the HTTP connection that passes on a undefined port by default (7777 is common, I think)) or by using the Grid control or using SNMP to monitor the database and related processes resulting using a number of different ports potentially.

    Justin

  • Best practical Question - update the query (see object) based on the drop-down list selection

    I have a question about the most efficient way to perform the following task:

    I create a page that contains several DVT components to display data based on specific requests.  Top of page I am hoping to have a drop down menu (selectOneChoice) that contains dates different and based on what the user selects (i.e. 2010, 2011, 2012, 2013, etc.), this will update the query in the view object of some (i.s. WHERE Date = '2011', or WHERE Date = 2013"), and then you view the appropriate data in the DVT.  What is the best way to do this - from a point of view bean managed / page, as well as the View object?  Advice/documentation would be appreciated.

    Thank you!

    When you drag the vo executeWithParams one another that will create links for operations such as 'executeWithParams2', 'executeWithParams3 '. On the method that you use to update a view by calling the executeWithParams operation, you call the other operations too.

    Timo

  • ReReplace best practices Question

    On my page, I have a form with a text box. I want to replace the ampersands and quotes with the correct code. My question is, is it better to run rereplace it that I take the formdata and store it in my database or should I treat as in the query when CF assembles the page?

    Thanks for any help/tips

    This is how it is to be used now.

    I think you will find that as organizations acquire more data that find other ways to use the data in the future.

    The general rule is to store data as neutrally as possible and format it for the desired display when it is displayed, in this case in html.  Thus, when this time arrives in the future that they want some otherwise disply you do not take the problem of the deconstruction of the HTML stored in the database and convert it to a format.

  • I want to confirm a best practices question - Acrobat XI forms Standard used on an Apple operating system - is this a problem?

    I'm creating forms in Acrobat XI Standard on a 64-bit Windows 7 computer. I have reports that the forms do not work and I see silkscreen where policies in the fields of the form are larger and moved than in the original form, that I created. What happens on a Apple product. So is this a problem? I read a post of 2007 saying it was. But it is still today, and if so, is it possible to deliver a formula that works with both Windows and Apple using Acrobat XI?

    Thank you

    In addition, an extract does not support the features of shape, such as JavaScript, so a form most likely does not as expected. What you describe is one of the ways.

  • Question/design architecture with best practices?

    Question/design architecture with best practices?

    Should I have separate Web server, weblogic application and IAM?
    If yes that how this time will communicate, for example can I webgate on the server that will communicate to each other?
    Any reference to decide how to design and if I have weblogic separate one for enforcement and one for IAM that how session management will take place etc.

    How is general design happens IAM project?

    Help appreciated.
    I have a business web application deployed on weblogic1 and OHS1

    deploy webtier on this OHS1 to protect the resources on OHS1. webtier will be recorded at OAM (where will be able to communicate with OAM)

    I also IAM deployed on weblogic2 & OHS2

    IAM components have weblogic. then ok. But you don't need to ohs2 here, unless your application itself requires OHS for hosting. But here, you mention that it is fair to IAM - so no need to OSH here. IAM installing requires weblogic.

    wanted to know where should I create provider (weblogic1 or weblogic2), and install webgate (OHS1 or OHS2 or both)?

    I hope it is clear now. If this isn't the case, query post for what is not clear.

  • New to ColdFusion - Question about best practices

    Hello.

    I've been programming in Java / c# / PHP for the past two years or so, and as of late have really taken taste to ColdFusion.

    The question I have is around the effective separation of the code, and if there are any best practices that are preached by using this language. While I was learning Java, I was taught that it is better to have several layers in your code; example: Front end (JSP or ASP)-> Business Objects-> support-> database. All the code I've written using these three languages followed this simple structure, most of the time.

    As I dive deeper into ColdFusion, most of the examples I've seen of vetrans of this language really does incorporate a lot of separation. And I don't mean the simple ' here's what this function only "type of online examples where most of the code is written in a single file. I was able to see the projects that were created with this language.

    I work with a few developers who have written in ColdFusion for a few years and put the question to them as well. Their response was something to the effect, ' I don't know if there is any recommended for this, but it really doesn't seem like there is really a problem, make calls like that. "

    I searched online for any type of best practices or discussions around that and have not seen much.

    I still consider myself a bit of a noobling when it comes to programming, but best practice is important to me for any language that I learn more about.

    Thanks for the help.

    You might want to take a look at a number of major frameworks available for

    ColdFusion.

    FW/1 II, model glue, CFWheels, ColdBox and Mach.  They do a great job of

    giving you a path for the separation of code, best practices, etc.

    http://www.carehart.org/cf411/#cffw

  • Question/best practice data warehousing

    I received the copy task a few tables of our production database to a database on a base (one night) once per day of data warehousing. The number of tables will grow over time; Currently, it is 10. I am interested in not only the success of the task, but also best practices. Here's what I came with:

    (1) remove the table in the destination database.
    (2) re - create the destination table from the script provided by the SQL Developer when you click the "SQL" tab while you view the table.
    (3) INSERTION IN the destination table in the source table using a database link. Note: I'm not aware of all the columns in the tables themselves that could be used to filter the lines added/deleted/modified only.
    (4) after importing the data, create indexes and primary keys.

    Issues related to the:
    (1) Developer SQL included the following lines during the generation of the table creation script:

    < creation table DDL commands >
    then
    PCTFREE, PCTUSED, INITRANS 40 10 1 MAXTRANS 255 NOCOMPRESS SLAUGHTER
    STORAGE (INITIAL 251658240 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645)
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 DEFAULT USER_TABLES)
    TABLESPACE "TBLSPC_PGROW".

    It generated this snippet for the table, the primary key and each index.
    Is it necessary to include in my code, if they are all default values? For example, one of the index gets scripted as follows:

    CREATING INDEXES "XYZ". "' PATIENT_INDEX ' ON 'XYZ '. "' PATIENT ' (the ' Patient')
    -the following four lines do I need?
    PCTFREE, INITRANS 10 2 MAXTRANS 255 COMPUTE STATISTICS
    STORAGE (INITIAL 60817408 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645)
    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 DEFAULT USER_TABLES)
    TABLESPACE "TBLSPC_IGROW".

    (2) anyone who has advice on best practices for the storage of data like that, I'm very eager to learn from your experience.

    Thanks in advance,

    Carl

    I strongly suggest not dropping and re-creating the tables every day.

    The simplest option would be to create a materialized view on the destination database that queries the database source and do a refresh materialized every evening from this point of view. You can then create a log of materialized on the source table view and then make a gradual refresh of the materialized view.

    You can schedule the refresh of the materialized view or in the definition of the materialized view, as a separate job, or creating a group to refresh and adding one or more materialized views.

    Justin

  • TDMS &amp; Diadem best practices: what happens if my mark has breaks/cuts?

    I created a LV2011 datalogging application that stores a lot of data to TDMS files.  The basic architecture is like this:

    Each channel has these properties:

    To = start time

    DT = sampling interval

    Channel values:

    Table 1 d of the DBL values

    After the start of datalogging, I still just by adding the string values.  And if the size of the file the PDM goes beyond 1 GB, I create a new file and try again.  The application runs continuously for days/weeks, so I get a lot of TDMS files.

    It works very well.  But now I need to change my system to allow the acquisition of data for pause/resume.  In other words, there will be breaks in the signal (probably from 30 seconds to 10 minutes).  I had originally considered two values for each point of registration as a XY Chart (value & timestamp) data.  But I am opposed to this principal in because according to me, it fills your hard drive unnecessarily (twice us much disk footprint for the same data?).

    Also, I've never used a tiara, but I want to ensure that my data can be easily opened and analyzed using DIAdem.

    My question: are there some best practices for the storage of signals that break/break like that?  I would just start a new record with a new time of departure (To) and tiara somehow "bind" these signals... for example, I know that it is a continuation of the same signal.

    Of course, I should install Diadem and play with him.  But I thought I would ask the experts on best practices, first of all, as I have no knowledge of DIAdem.

    Hi josborne;

    Do you plan to create a new PDM file whenever the acquisition stops and starts, or you were missing fewer sections store multiple power the same TDMS file?  The best way to manage the shift of date / time is to store a waveform per channel per section of power and use the channel property who hails from waveform TDMS data - if you are wiring table of orange floating point or a waveform Brown to the TDMS Write.vi "wf_start_time".  Tiara 2011 has the ability to easily access the time offset when it is stored in this property of channel (assuming that it is stored as a date/time and not as a DBL or a string).  If you have only one section of power by PDM file, I would certainly also add a 'DateTime' property at the file level.  If you want to store several sections of power in a single file, PDM, I would recommend using a separate group for each section of power.  Make sure that you store the following properties of the string in the TDMS file if you want information to flow naturally to DIAdem:

    'wf_xname '.
    'wf_xunit_string '.
    'wf_start_time '.
    'wf_start_offset '.
    'wf_increment '.

    Brad Turpin

    Tiara Product Support Engineer

    National Instruments

  • Just improved m tips on best practices for sharing files on a Server 2008 std.

    The field contains about 15 machines with two domain controllers, one's data is the app files / print etc...  I just upgraded from 2003 to 2008 and want to get advice on best practices for the establishment of a group of file sharing. Basically I want each user to have their their own records, but also a staff; folder. Since I am usually accustomed to using windows Explorer, I would like to know if these actions can be done in the best conditions. Also I noticed on 2008 there is a feature of contacts. How can it be used? I would like to message or send an email to users their file locations. Also, I want to implement an admin at a lower level to handle the actions without making them far in on the server, not sure.

    I read a certain bbut I don't like test direct more because it can cause problems. So basically a way short and neat to manage shares using the MMC, as well as the way that I approach their mail from the server of their actions. Maybe what kind of access cintrol or permissions are suitable also for documents. Also how can I have them use office templates without changing the format of the model.

    THX

    g

    Hello 996vtwin,

    Thank you for visiting the Microsoft Answers site. The question you have posted is related to Windows Server and would be better suited to the Windows Server TechNet community. Please visit the link below to find a community that will support what ask you:

    http://social.technet.Microsoft.com/forums/en-us/category/WindowsServer

    Hope this helps J

    Adam
    Microsoft Answers Support Engineer
    Visit our Microsoft answers feedback Forum and let us know what you think

  • Dell MD3620i connect to vmware - best practices

    Hello community,

    I bought a Dell MD3620i with 2 x ports Ethernet 10Gbase-T on each controller (2 x controllers).
    My vmware environment consists of 2 x ESXi hosts (each with 2ports x 1Gbase-T) and a HP Lefthand (also 1Gbase-T) storage. The switches I have are the Cisco3750 who have only 1Gbase-T Ethernet.
    I'll replace this HP storage with DELL storage.
    As I have never worked with stores of DELL, I need your help in answering my questions:

    1. What is the best practices to connect to vmware at the Dell MD3620i hosts?
    2. What is the process to create a LUN?
    3. can I create more LUNS on a single disk group? or is the best practice to create a LUN on a group?
    4. how to configure iSCSI 10GBase-T working on the 1 Gbit/s switch ports?
    5 is the best practice to connect the Dell MD3620i directly to vmware without switch hosts?
    6. the old iscsi on HP storage is in another network, I can do vmotion to move all the VMS in an iSCSI network to another, and then change the IP addresses iSCSI on vmware virtual machines uninterrupted hosts?
    7. can I combine the two iSCSI ports to an interface of 2 Gbps to conenct to the switch? I use two switches, so I want to connect each controller to each switch limit their interfaces to 2 Gbps. My Question is, would be controller switched to another controller if the Ethernet link is located on the switch? (in which case a single reboot switch)

    Tahnks in advanse!

    Basics of TCP/IP: a computer cannot connect to 2 different networks (isolated) (e.g. 2 directly attached the cables between the server and an iSCSI port SAN) who share the same subnet.

    The corruption of data is very likely if you share the same vlan for iSCSI, however, performance and overall reliability would be affected.

    With a MD3620i, here are some configuration scenarios using the factory default subnets (and for DAS configurations I have added 4 additional subnets):

    Single switch (not recommended because the switch becomes your single point of failure):

    Controller 0:

    iSCSI port 0: 192.168.130.101

    iSCSI port 1: 192.168.131.101

    iSCSI port 2: 192.168.132.101

    iSCSI port 4: 192.168.133.101

    Controller 1:

    iSCSI port 0: 192.168.130.102

    iSCSI port 1: 192.168.131.102

    iSCSI port 2: 192.168.132.102

    iSCSI port 4: 192.168.133.102

    Server 1:

    iSCSI NIC 0: 192.168.130.110

    iSCSI NIC 1: 192.168.131.110

    iSCSI NIC 2: 192.168.132.110

    iSCSI NIC 3: 192.168.133.110

    Server 2:

    All ports plug 1 switch (obviously).

    If you only want to use the 2 NICs for iSCSI, have new server 1 Server subnet 130 and 131 and the use of the server 2 132 and 133, 3 then uses 130 and 131. This distributes the load of the e/s between the ports of iSCSI on the SAN.

    Two switches (a VLAN for all iSCSI ports on this switch if):

    NOTE: Do NOT link switches together. This avoids problems that occur on a switch does not affect the other switch.

    Controller 0:

    iSCSI port 0: 192.168.130.101-> for switch 1

    iSCSI port 1: 192.168.131.101-> to switch 2

    iSCSI port 2: 192.168.132.101-> for switch 1

    iSCSI port 4: 192.168.133.101-> to switch 2

    Controller 1:

    iSCSI port 0: 192.168.130.102-> for switch 1

    iSCSI port 1: 192.168.131.102-> to switch 2

    iSCSI port 2: 192.168.132.102-> for switch 1

    iSCSI port 4: 192.168.133.102-> to switch 2

    Server 1:

    iSCSI NIC 0: 192.168.130.110-> for switch 1

    iSCSI NIC 1: 192.168.131.110-> to switch 2

    iSCSI NIC 2: 192.168.132.110-> for switch 1

    iSCSI NIC 3: 192.168.133.110-> to switch 2

    Server 2:

    Same note on the use of only 2 cards per server for iSCSI. In this configuration each server will always use two switches so that a failure of the switch should not take down your server iSCSI connectivity.

    Quad switches (or 2 VLAN on each of the 2 switches above):

    iSCSI port 0: 192.168.130.101-> for switch 1

    iSCSI port 1: 192.168.131.101-> to switch 2

    iSCSI port 2: 192.168.132.101-> switch 3

    iSCSI port 4: 192.168.133.101-> at 4 switch

    Controller 1:

    iSCSI port 0: 192.168.130.102-> for switch 1

    iSCSI port 1: 192.168.131.102-> to switch 2

    iSCSI port 2: 192.168.132.102-> switch 3

    iSCSI port 4: 192.168.133.102-> at 4 switch

    Server 1:

    iSCSI NIC 0: 192.168.130.110-> for switch 1

    iSCSI NIC 1: 192.168.131.110-> to switch 2

    iSCSI NIC 2: 192.168.132.110-> switch 3

    iSCSI NIC 3: 192.168.133.110-> at 4 switch

    Server 2:

    In this case using 2 NICs per server is the first server uses the first 2 switches and the second server uses the second series of switches.

    Join directly:

    iSCSI port 0: 192.168.130.101-> server iSCSI NIC 1 (on an example of 192.168.130.110 IP)

    iSCSI port 1: 192.168.131.101-> server iSCSI NIC 2 (on an example of 192.168.131.110 IP)

    iSCSI port 2: 192.168.132.101-> server iSCSI NIC 3 (on an example of 192.168.132.110 IP)

    iSCSI port 4: 192.168.133.101-> server iSCSI NIC 4 (on an example of 192.168.133.110 IP)

    Controller 1:

    iSCSI port 0: 192.168.134.102-> server iSCSI NIC 5 (on an example of 192.168.134.110 IP)

    iSCSI port 1: 192.168.135.102-> server iSCSI NIC 6 (on an example of 192.168.135.110 IP)

    iSCSI port 2: 192.168.136.102-> server iSCSI NIC 7 (on an example of 192.168.136.110 IP)

    iSCSI port 4: 192.168.137.102-> server iSCSI NIC 8 (on an example of 192.168.137.110 IP)

    I left just 4 subnets controller 1 on the '102' IPs for more easy changing future.

  • Best practices for the DRM version

    Hi Experts,

    I need a help on the sub query, any suggestions are very appreciated.

    I want to know what is the best practice to keep DRM versions when I have a certain common hierarchies of upstream DRM applications.

    While my flow to downstream applications are different i, various e-business.

    What I have to keep these hierarchies as different versions or is it possible to manage with these hierarchies in a single version.

    The reason for this request is, I need to map hierarchies of my Commons on hierarchies of two different companies located in two different versions, and if I'm not mistaken the mapping of members is not possible in two different versions.

    do I have to have these common hierarchies in two different versions, that i then e for two companies different or any lead time is possible to have them in one version and match them to the members of the second version.

    Hope you get my request, please return back if no confusion in my question.

    Thank you

    Madhabika

    Hello

    The best way to group related hierarchies is to put them in a group of hierarchies, Versions are mainly used to maintain the data lifecycle, or good if you have quite foreign game of hierarchies you can keep them in different versions and their life cycles maintain separately.

    Inter communication Version and mappings are impossible, so if members are mapped, good thing would be to keep them in only one version.

    Thank you

    Denzz

  • Best practices deployment CD to the internet non-connected PC

    Hello

    Are there things or best practices to be careful during the deployment of CD player on the internet non-connected PC? We currently use drive X, which we are patching regularly via a field startup script. Specifically, I want to know:

    (1) CD player can be deployed in the same way that we currently do for Reader X (i.e. first install the base of the file through msiexec.exe /i package in a startup script, and then install the latest hotfix files using msiexec /p also using a startup script)

    (2) CD player does require authentication via internet, or can that be disabled via Adobe Customization Wizard or group policy?

    (3) can I disable all related and all features which requires an internet connection via Adobe Customization Wizard or group policy for clouds?

    (4) at - it nothing another important to know?

    Thank you.

    Here are answers to your questions:

    (1) CD player can be deployed the same way we do it currently for Reader X (i.e. first install the basic package of the file through msiexec.exe /i in a startup script, and then install the latest hotfix using msiexec /p also using a startup script) - Yes, CD player can be deployed in the same way as the X drive. There is no difference.

    (2) CD player does require authentication via internet, or can that be disabled via Adobe Customization Wizard or group policy?  -No, only DC Acrobat requires it. However, CD player, is free and requires no all identifications.

    (3) can I disable all related and all features which requires an internet connection via Adobe Customization Wizard or group policy for clouds? -Yes, you can disable all cloud related features through the Customization Wizard or group policy

    Ben above mentioned, you must always keep your reader to update to the latest version which has the latest security related bugs.

    I hope that I have answered all your questions, and it helps. If you have any question, please report.

    Thank you

    Vinod

Maybe you are looking for