Comparing substr values of two columns

Say you have a table with 3 columns:
*Unique random-generated id,
*First name
*Mailing name
I need to find all the rows where the mailing name does not contain the value of the first name column.
The "like" operator (only used with where clause) doesn't seem to work because what you want to do is:
select * from table
where [first_name is *not* found in *part of* (it will never be exact match) the mailing_name]
What's the correct where clause?
Any help is appreciated. Thanks

Maybe You can use something like
select * from table
where instr(Mailing name, First name) = 0
For example
SQL> select 1 from dual
2 where instr('GINTS PLIVNA','aaa') = 0;
1
1
SQL> select 1 from dual
2 where instr('GINTS PLIVNA', 'INTS') =0;
no rows selected
SQL>

Similar Messages

  • Need to compare values in two columns of one table against values in two columns in another table

    Hi, as the title reads, I'm looking for an approach that will allow me to compare values in two columns of one table against values in two columns in another table.
    Say, for instance, here are my tables:
    Table1:
    Server,Login
    ABCDEF,JOHN
    ABCDEF,JANE
    FEDCBA,SEAN
    FEDCBA,SHAWN
    Table2:
    Server,Login
    ABCDEF,JOHN
    ABCDEF,JANE
    FEDCBA,SHAWN
    In comparing the two tables, I'd like my query to report the rows in table1 NOT found in table2. In this case, it'll be the 3rd row of table one:
    Server,Login
    FEDCBA,SEAN
    Thanks.

    create table Table1([Server] varchar(50), Login varchar(50))
    Insert into Table1 values ('ABCDEF','JOHN'),('ABCDEF','JANE'),('FEDCBA','SEAN'),('FEDCBA','SHAWN')
    create table Table2([Server] varchar(50), Login varchar(50))
    Insert into Table2 values ('ABCDEF','JOHN'),('ABCDEF','JANE'), ('FEDCBA','SHAWN')
    select [Server] ,Login from Table1
    Except
    select [Server] ,Login from Table2
    select [Server] ,Login from Table1 t1
    where not exists(Select 1 from Table2 where t1.[Server] = t1.[Server] AND Login=t1.Login)
    drop table Table1,Table2

  • From two given tables, how do you fetch the values from two columns using values from one column(get values from col.A if col.A is not null and get values from col.B if col.A is null)?

    From two given tables, how do you fetch the values from two columns using values from one column(get values from col.A if col.A is not null and get values from col.B if col.A is null)?

    Hi,
    Use NVL or COALESCE:
    NVL (col_a, col_b)
    Returns col_a if col_a is not NULL; otherwise, it returns col_b.
    Col_a and col_b must have similar (if not identical) datatypes; for example, if col_a is a DATE, then col_b can be another DATE or it can be a TIMESTAMP, but it can't be a VARCHAR2.
    For more about NVL and COALESCE, see the SQL Language manual: http://docs.oracle.com/cd/E11882_01/server.112/e26088/functions119.htm#sthref1310
    I hope this answers your question.
    If not, post a little sample data (CREATE TABLE and INSERT statements, relevant columns only) for all tables involved, and also post the results you want from that data.
    Explain, using specific examples, how you get those results from that data.
    Always say which version of Oracle you're using (e.g., 11.2.0.2.0).
    See the forum FAQ: https://forums.oracle.com/message/9362002

  • How to map single input value to Two columns of Database table using format file of Bulk Copy Process

    Hi All,
    Am using OPENROWSET to load the file data into table, here the problem is i need to map same input value to two different columns of table, As format file doesn't allow the duplicate numbers am unable to insert same value to two columns, please help me to
    find a solution for this. 
    i can use only OPENROWSET because i need to insert some default values also which come based on file. only the problem is how to map same input value to two different columns of table. please give me the suggestions.
    Thanks,
    Sudhakar

    From what you say:
       INSERT tbl(col1, col2)
          SELECT col1, col1
          FROM   OPENROWSET(....)
    But I guess it is more difficult. You need to give more details. What sort of data source do you have? What does your query look like? The target table?
    Erland Sommarskog, SQL Server MVP, [email protected]
    Hi Erland,
    Thanks for your response
    my source file is text file with | symbol separate for ex:
    1002|eTab |V101|eTablet|V100|Logic|LT-7|Laptops|SCM
    Database table have columns like
    column1,column2,column3...etc, now i need to insert same value from input file into two columns for ex:
    the eTab value from text file has to be insert into column2 and column3 of
    table
    we cannot change format file like below one
    for the above situation how can we insert eTab into column2 and column3
    Thanks,
    Sudhakar.

  • Concatinating the values of two columns ???

    Hi,
    Can anyone help me out in concatenating the values of two columns ??
    Please ASAP...
    Thanks

    >
    What's wrong with
    select (col X || '-'|| Col y ) as Z from xyz_table;
    test@ora>
    test@ora>
    test@ora> --
    test@ora> with xyz_table as (
      2    select 1 as col from dual)
      3  --
      4  select (col X || '-'|| Col y ) as Z from xyz_table;
    select (col X || '-'|| Col y ) as Z from xyz_table
    ERROR at line 4:
    ORA-00907: missing right parenthesis
    test@ora>
    test@ora>
    test@ora> --
    test@ora> with xyz_table as (
      2    select 1 as x, 2 as y from dual)
      3  --
      4  select (col X || '-'|| Col y ) as Z from xyz_table;
    select (col X || '-'|| Col y ) as Z from xyz_table
    ERROR at line 4:
    ORA-00907: missing right parenthesis
    test@ora>
    test@ora>
    test@ora> -- ==================================================
    test@ora> --
    test@ora> with xyz_table as (
      2    select 1 as col from dual)
      3  --
      4  select (col || '-'|| Col) as Z from xyz_table;
    Z
    1-1
    1 row selected.
    test@ora>
    test@ora>
    test@ora> --
    test@ora> with xyz_table as (
      2    select 1 as x, 2 as y from dual)
      3  --
      4  select (X || '-'|| y ) as Z from xyz_table;
    Z
    1-2
    1 row selected.
    test@ora>
    test@ora>isotope

  • Comparing row values in two different tables

    Hello,
    Does anyone know if it is possible to compare (and possibly highlight - which I know can be done) row values in two different tables?
    I have a ZIP Code column in table A that I want to compare to a ZIP Code column in table B and highlight those ZIP Codes that are present in table B but not in table A etc. Is this possible?
    Thanks,
    Kenneth

    To be able to apply conditional formatting, I must edit the formulas this way.
    =IF(ISBLANK(B)," ",IF(ISERROR(VLOOKUP(B,Tableau 2 :: B,1,0))," ",VLOOKUP(B,Tableau 2 :: B,1,0)))
    =IF(ISBLANK(B)," ",IF(ISERROR(VLOOKUP(B,Tableau 1 :: B,1,0))," ",VLOOKUP(B,Tableau 1 :: B,1,0)))
    I replaces the four empty strings by strings containing one space character.
    In the field supposed to contain the text which is not contained I just entered a single space character.
    Yvan KOENIG (from FRANCE vendredi 12 septembre 2008 20:52:11)

  • Single column value into two column of report

    Hi frnds,
    I have a column of Adress in my databse table from where i have to fetch values and show it a report
    able to get report but showing in single column if i take a printout paper will be wasted so I thought of passing these values to two different columns
    please help me in giving some suggestions

    In Oracle 9 you can get rid of the regex functions and use traditional SUBSTR, INSTR and REPLACE:
    ABSOLUTELY NOT TESTED...
    SELECT col1,SUBSTR ( ','||col2||',', instr(','||col2||',',',',lvl)+1,instr(','||col2||',',',',lvl+1)-instr(','||col2||',',',',lvl)-1)
      FROM table_name,
           (SELECT LEVEL lvl
              FROM (SELECT MAX (LENGTH (REPLACE ( col2, ',',''))) mx
                      FROM table_name)
            CONNECT BY LEVEL <= mx + 1)
    WHERE lvl - 1 <= LENGTH (REPLACE ( col2, ',',''));Max

  • How to Sort one key figure values in two column based on single char

    hi gurus,
    I would really appreciate if some one can help me out with my question.
    I have to design a query based on a Multiprovider built on three ODS, Purchasing, Confirmations & Invoic ODS
    Purchase order Value and Number data in PO ODS, and confirmations is in CONFODS, Invoice Values in INV ODS,
    The design of the requirement is
    Vendor --> PO --> Material PO Value --> Text PO Value  --> Confirmation value --> Invoice value
    There are Two POS 1. Material PO & 2. Text PO
    I need to display all the Purchase orders for a vendor and in different columns i need to display the value of the Material PO and Text PO and their Confirmation Value and how much is the invoiced value for every PO.
    Can anybody tell me what should i do in the Query Designer to display the necessary values.
    Thank you

    Hi william,
    When i put in the PO KF in the column and also the Confirmation KF in other Column it either shows me # for both the entries or it shows me values in only one of the column
    if PO is displayed the Confirmation is not displayed and if Confirmation is displayed PO values are shown as # i dont know what wrong i am doing.
    if you have idea can you tell me what i should do when i want two different values from two ODS if there are no characteristics that are matching in either of the ODS should i go for Multi Provider and if so how should be my designing. i would really appreciate if you can tell me taking a scenerio.
    Thanks

  • Create a new column in a table that compares the value of one column with its previous value

    The DDL:
    DECLARE
    @T TABLE
    IDNO
    int,
    name
    varchar(40),
    [Date]
    datetime2,
    Price1
    float,
    Price2
    float
    DECLARE
    @K TABLE
    IDNO
    int,
    name
    varchar(40),
    [Date]
    datetime2,
    Price1
    float,
    Price2
    float
    INSERT
    INTO @T
    VALUES(22,'C_V_Harris','2014-01-02 10:23:49.0000000',
    23.335,      
    23.347)
    INSERT
    INTO @T
    VALUES(21,'C_V_Harris','2014-01-02 10:05:13.0000000',
    23.357,      
    23.369)
    INSERT
    INTO @T
    VALUES(20,'C_V_Harris','2014-01-02 09:56:15.0000000',
    23.364,      
    23.377)
    INSERT
    INTO @T
    VALUES(19,'C_V_Harris','2014-01-02 09:45:26.0000000',
    23.351,      
    23.367)
    INSERT
    INTO @T
    VALUES(18,'C_V_Harris','2014-01-02 09:43:20.0000000',
    23.380,      
    23.396)
    INSERT
    INTO @T
    VALUES(17,'C_V_Harris','2014-01-02 09:34:28.0000000',
    23.455,      
    23.468)
    INSERT
    INTO @T
    VALUES(16,'C_V_Harris','2014-01-02 09:30:37.0000000',
    23.474,      
    23.486)
    INSERT
    INTO @T
    VALUES(15,'C_V_Harris','2014-01-02 09:18:12.0000000',
    23.419,      
    23.431)
    INSERT
    INTO @T
    VALUES(14,'C_V_Harris','2014-01-02 09:16:06.0000000',
    23.360,      
    23.374)
    INSERT
    INTO @K
    SELECT
    ROW_NUMBER()
    OVER (ORDER
    by IDNO)
    AS RN,*
    FROM
    @T
    SELECT
    * FROM
    @K
    --not working:
    SELECT
    a.RN,a.Price2
    FROM
    @K a
    INNER
    JOIN @K
    b
    ON
    a.RN=b.RN-1
    WHERE
    a.Price2>b.Price2
    I need to create  a view with a column (say 'Comp' below) that compares the value of each row in Price2 with the previous Price2 row, and it is greater then +1, the
    same 0, and less -1.
    The processed table should be:
    IDNO
    name
    Date
    Price1
    Price2
    Comp
    22
    C_V_Harris
    1/2/2014 10:23:49
    23.335
    23.347
    0
    21
    C_V_Harris
    1/2/2014 10:05:13
    23.357
    23.369
    1
    20
    C_V_Harris
    1/2/2014 9:56:15
    23.364
    23.377
    1
    19
    C_V_Harris
    1/2/2014 9:45:26
    23.351
    23.367
    -1
    18
    C_V_Harris
    1/2/2014 9:43:20
    23.38
    23.396
    1
    17
    C_V_Harris
    1/2/2014 9:34:28
    23.455
    23.468
    1
    16
    C_V_Harris
    1/2/2014 9:30:37
    23.474
    23.486
    1
    15
    C_V_Harris
    1/2/2014 9:18:12
    23.419
    23.431
    -1
    14
    C_V_Harris
    1/2/2014 9:16:06
    23.36
    23.374
    -1
     How can I structure the statement to get (the most recent - order by date ) result for Comp?

    Satheesh Variath, I just had to make some corrections from your script to get the correct answer:
    CREATE
    VIEW vw_Comp
    AS
    SELECT
    TOP 1 t.IDNO,t.name,t.[Date],t.Price1,t.Price2,
    CASE
    WHEN t.Price2
    > LAG(Price2,1)
    OVER (PARTITION
    BY name
    ORDER BY IDNO) 
    THEN 1
    WHEN t.Price2
    < LAG(Price2,1)
    OVER (PARTITION
    BY name
    ORDER BY IDNo) 
    THEN -1
    ELSE 0
    END
    AS Comp
    FROM 
    @T t
    ORDER
    BY DATE
    DESC
    The adjustments: the selection of the most recent comparison (Top 1) and the use of the function LAG (instead of LEAD) to get the previous value of the column.

  • Split one column value into two columns using t-sql

    Hi All,
    I have one varchar column in a table.
    Col1
    ABC-12C4
    BC-A345
    CD
    XYZ
    How to split this into two columns like this using t-sql
    Col1   Col2
    ABC    12C4
    BC      A345
    CD     
    XYZ
    Thanks,
    RH
    sql

    assuming a static delimiter, and the split will end up with a max of 2 columns, something like this would work.  basically you just need to determine where the delimiter is, and then use the left and right functions to find the 2 pieces.
    declare @t table(value varchar(10))
    insert into @t(value)
    values
    ('ABC-12C4'), ('BC-A345'), ('CD'), ('XYZ')
    select
    case
    when charindex('-', value) != 0 then left(value, charindex('-', value) - 1)
    else value
    end as col1,
    case
    when charindex('-', value) != 0 then right(value, len(value) - charindex('-', value))
    else ''
    end as col2
    from @t

  • K-Bits (1) : Interchange the values of two columns

    Hi Everyone
    I wanted to get started a mechanism of knowledge sharing in the way of a series of threads called “K-Bits” (Knowledge Bits).
    In our day to day work, we learn some new things which can be useful for others. However we hardly get a chance to share it with others.
    Here is the opportunity to share your knowledge in the form of “K-Bits”.
    Here we start with the First Tip of this series.
    You might face a situation where you need to interchange the values of 2 columns in an Oracle database table. 
    E.g. there is a table employee having columns EMPID, FIRST_NAME, LAST_NAME and SALARY. By mistake the values of FIRST_NAME and LAST_NAME have been interchanged. Now you need to bring the data in correct state. 
    You can think about following few options: 
    Option-1_ 
    1.     Alter table employee and add a new column TEMP_NAME to it. 
    2.     Update the values of LAST_NAME to TEMP_NAME. 
    3.     Update the LAST_NAME with the values of FIRST_NAME. 
    4.     Update the FIRST_NAME with the values of TEMP_NAME. 
    5.     Drop the column TEMP_NAME. 
    Option-2 (For Oracle version 9i or higher)_ 
    1.     Alter table employee and rename LAST_NAME column to TEMP_NAME. 
    2.     Alter table employee and rename column FIRST_NAME to LAST_NAME. 
    3.     Alter table employee and rename column TEMP_NAME to FIRST_NAME.
    Probably you can go ahead with any other solution as well. However there is one very simple solution. 
    Option-3_ 
    Let do it by example: 
    DROP TABLE EMPLOYEE; 
    CREATE TBALE EMPLOYEE 
       EMPID             NUMBER 
      ,FIRST_NAME        VARCHAR2(30) 
      ,LAST_NAME         VARCHAR2(30) 
      ,SALARY            NUMBER 
    INSERT INTO EMPLOYEE VALUES (1,'Tendulkar','Sachin', 10000); 
    INSERT INTO EMPLOYEE VALUES (1,'Ganguli','Saurabh', 10000); 
    INSERT INTO EMPLOYEE VALUES (1,'Pathan','Irfan', 10000); 
    INSERT INTO EMPLOYEE VALUES (1,'Khan','Jaheer', 10000); 
    INSERT INTO EMPLOYEE VALUES (1,'Agarkar','Ajit', 10000); 
    INSERT INTO EMPLOYEE VALUES (1,'Dravid','Rahul', 10000); 
    SELECT * 
      FROM EMPLOYEE; 
    UPDATE EMPLOYEE 
       SET FIRST_NAME = LAST_NAME 
          ,LAST_NAME  = FIRST_NAME; 
    SELECT * 
      FROM EMPLOYEE;  The update statement above solves the purpose. Is not it simple? But how does it work?? 
    For any DML (Insert, Update or Delete) oracle internally fires the row level triggers. You can read more about triggers at 
    http://download-east.oracle.com/docs/cd/B10501_01/server.920/a96524/c18trigs.htm
    and 
    http://download-east.oracle.com/docs/cd/B10501_01/appdev.920/a96590/adg13trg.htm#431 
    As you know in row level triggers the values of each column is stored in :OLD and :NEW parameters. For the above UPDATE statement oracle stores the old values of FIRAT_NAME and LAST_NAME in :OLD.FIRST_NAME and :OLD.LAST_NAME parameters respectively and then update FIRST_NAME with :OLD.LAST_NAME and LAST_NAME with :OLD.FIRST_NAME. 
    Regards
    Arun Kumar Gupta

    For any DML (Insert, Update or Delete) oracle internally fires the row level triggers.Any pointer to the documentation supporting this ?
    Edited by: Saubhik on Dec 7, 2010 5:58 PM

  • What would be the best way to use a list in a textarea to compare to values in a column in a database table?

    I'm trying to move a table from a MS Access database to a datasource online so I don't have to be the only one that can perform a specific task.
    Right now I regularly am having to assess change requests to determine if it impacts the servers my team supports.  Currently I copy and paste the text list into a temporary table in MS Access then hit a button to run a query comparing what was in that list to my server inventory.  Works fine but now I need to move this online so others can do this in a place where we can also keep everyone using the exact same inventory and am planning on using a ColdFusion server.
    So what I believe would be easiest is to create a form that has a textarea where I can just copy and paste what is in the change request and then hit a submit button and go to the next page where it would list all the servers that matched (with all the other info I also need).
    Almost always the info would hit the textarea with a separate row for each server with no other delimiters, etc.
    Example info in textarea:
    servername1
    servername2
    servername3
    What is the best/easiest way in the SQL code on the following page to take the values from the textarea the way they are listed and return results of any that match the server name column from that list?  What CF functions and SQL coding are needed?
    I've done something in the past where I did WHERE Server IN (#PreserveSingleQuotes(Form.ServerList)#)...
    But I had to input 'servername1', 'servername2', 'servername3' in the text box and with how often we'll be copying lists as show above from a text area or from an excel column I'd really like a way to get from the example above to the results I need without having to manipulate.  Sometimes the list I'm comparing against may be 300+ servers and adding that formatting is not desirable.
    Any help would be appreciated.

    So here is a solution I came up with
    <cfoutput>
    <cfset Servers="#StripCR(Form.ServerList)#">
    <cfset Servers2="'#Replace(Servers, "
    ", " ", "All")#'">
    <cfset Servers3="#ToString(Servers2)#">
    <cfset Servers4="#Replace(Servers3, " ", "', '", "All")#">
    </cfoutput>
    Then in the cfquery SQL I used
    WHERE Server IN (#PreserveSingleQuotes(Servers4)#)
    Right now this is working but it seems very cumbersome.  If anyone can come up with a way to simplify this please let me know.

  • How to Identify mismatch values in two columns

    I have two tables basically two excel files used by two different depts. I am trying to reconcile dollar amounts between two.
    Table A has ID, Amount,Paid Date
    Table B has ID,Amount ,Paid Date.
    What`s happening is between two tables at times we are finding amount column values differ for same paiddate, there are instances where same transaction recorded in table A will have a different amount but Paid Date will be different. I am trying to find
    ID`s which have different amounts.Code below I am trying to find ID`s that exist in both tables and In my where clause I am using where Amount col from Table A is not equal Amount Col in Table B. When I run this code I get I dont see mismatched amounts
    select l.id,SUM(l.[amount]),a.amount
    FROM SFY14_Detail_Q1 a
    inner JOIN dbo.Qtr1_X_Recon l ON l.[id] = a.ID
    WHERE l.[amount] <> a.amount and l.[amount] <> 0
    group by l.id,a.amount
    order by sum(l.[amount]) desc
    FM

    Chances are, it's because you are grouping by amount.  If you look closer, you'll probably see the same ID twice, once for one amount, and again elsewhere for the other amount.  So by appearing twice, your query is working, it is identifying
    the two with different values, but grouping by Amount, you're not seeing them side by side.   You could sort by ID instead, then amount, then they'll show twice, near one another.

  • Comparing each value of two internal tables

    HI  everybody,
    i have two internal tables  itab1 and itab2 same structure
    both r having four fields each and field with values
    now i need to compare the two internal tables
    and if every value of itab1 matches itab2
    then i have to write one select quirie  for the following given description
    compare past and current shipping point
    compare internal_table2 and internal_table3
    if entry in internal_table2 and internal table3 match
    variable_tknum = internal_table2-tknum
    endif.
    for each entry that matches:
    select vlabdata into zi_vlabdata from vlbl where vbeln = variable_tknum and vlbl-vlabtyp = 'ZIBOOKNO'.
    plz give me solution for this
    thanks
    hridhayanjili.

    sort : ITAB1 by f1,f2,f3,f4,
           ITAB2 by f1,f2,f3,f4.
    LOOP AT ITAB1.
      READ TABLE ITAB2 WITH KEY F1 = ITAB1-F1
                                F2 = ITAB1-F2
                                F3 = ITAB1-F3
                                F4 = ITAB1-F4 BINARY SEARCH.
      IF SY-SUBRC = 0.
    *--all the fields of ITAB1 and ITAB2 are matching .
    *--write your logic here
      ELSE.
    *--ITAB1 and ITAB2 records are not matching.
      ENDIF.
    ENDLOOP.
    Regards
    Srikanth
    Message was edited by: Srikanth Kidambi

  • How to concatinate values of two columns and update into another column

    There is a table : TEST contains three columns - Column1 , Column2 , Column 3
    Column1 contains values - (1,2,4)
    Column2 contains values : (a,b,c)
    Column 3 is empty .
    Target : Values in column 3 should be (1a,2b,4c)
    Need to achieve this through procedure .

    Paul if i want to concatenate two strings or alpha numeric characters from 2 fields and display in the third field,Will this code be able to do that?

Maybe you are looking for

  • Log error while loading a war file to WAs

    When trying to load a war file to WAs and selecting the class loader option "Parent last", I get an error: Caused by: org.apache.commons.logging.LogConfigurationException: The chosen LogFactory implementation does not extend LogFactory. Please check

  • PDF forms in andriod

    How to make submit of pdf forms work in andriod OS.  It is working fine in windows system.

  • How to make mouse change position on click?

    So, I'm trying to make a gun aim at the crosshair, so it follows the mouse all the time. I want it to go up on recoil, so the mouse crosshair goes up and the gun follows up. I tried something like mouseY - 10; but with no luck, it didn't do anything.

  • I want to use TC for time Machine

    Hello, I am wanting to set up my New Time Capsule a certain way.  I have a 13" Macbook with a 250GB internal HD. I want to know if I can use time capsule for my time machine back ups & also as an external Hard Drive. I have about 600GB of music and 2

  • Where did my calendars go when I switched to Lion/iCloud?

    I just switched to Lion and iCloud, because of the imminent loss of MobileMe's calendar sync'ing, and found that iCal failed to import a number of calendars that I had stored in MobileMe.  I went to me.com, converted to iCloud there, and saw it say t