to find values common to different lines, whereas a column is different

Hi all!
It was difficult to write about it, but the problem will clear with this example:

I have the following table with two columns, one for the user id and the second for id book. I'm writing a sql query to search for users who have read the same books.
u_id  b_id
-----   ------
1      122
1      185
1      231
1      316
1      329
1      355
2      110
2      151
2      260
2      376
2      539
.      .
.      .
.      .
1077      1
1077      19
1077      34
1077      39
1077      47
1077      50
First thing came to mind was the following:
SELECT * FROM myTable a WHERE b_id = (SELECT b_id FROM myTable b WHERE b.u_id <> a.u_id)
But, Yes, it gives the error subquery returns more than one line. Is is possible to do?

reis3k wrote:

I'm writing a sql query to search for users who have read the same books.

Do you mean find two (or more) users who read the same book? If so:

with t as (
           select 1 u_id,122 b_id from dual union all
           select 1,185 from dual union all
           select 1,231 from dual union all
           select 1,316 from dual union all
           select 1,329 from dual union all
           select 1,355 from dual union all
           select 2,110 from dual union all
           select 2,151 from dual union all
           select 2,260 from dual union all
           select 2,376 from dual union all
           select 2,539 from dual union all
           select 3,110 from dual union all
           select 3,151 from dual union all
           select 3,260 from dual union all
           select 3,376 from dual union all
           select 3,539 from dual union all
           select 1077,1 from dual union all
           select 1077,19 from dual union all
           select 1077,34 from dual union all
           select 1077,39 from dual union all
           select 1077,47 from dual union all
           select 1077,376 from dual
          )
select  b_id,
        rtrim(xmlagg(xmlelement(e,u_id,',').extract('//text()') order by u_id),',') user_list
  from  t
  group by b_id
  having count(*) > 1
/

      B_ID USER_LIST
---------- ----------
       110 2,3
       151 2,3
       260 2,3
       376 2,3,1077
       539 2,3

SQL>  

Or do you mean find two (or more) users who read exactly the same set of books? If so:

with t as (
           select 1 u_id,122 b_id from dual union all
           select 1,185 from dual union all
           select 1,231 from dual union all
           select 1,316 from dual union all
           select 1,329 from dual union all
           select 1,355 from dual union all
           select 2,110 from dual union all
           select 2,151 from dual union all
           select 2,260 from dual union all
           select 2,376 from dual union all
           select 2,539 from dual union all
           select 3,110 from dual union all
           select 3,151 from dual union all
           select 3,260 from dual union all
           select 3,376 from dual union all
           select 3,539 from dual union all
           select 1077,1 from dual union all
           select 1077,19 from dual union all
           select 1077,34 from dual union all
           select 1077,39 from dual union all
           select 1077,47 from dual union all
           select 1077,376 from dual
          )
select  book_list,
        rtrim(xmlagg(xmlelement(e,u_id,',').extract('//text()') order by u_id),',') user_list
  from  (
         select  u_id,
                 rtrim(xmlagg(xmlelement(e,b_id,',').extract('//text()') order by b_id),',') book_list
           from  t
           group by u_id
        )
  group by book_list
  having count(*) > 1
/

BOOK_LIST                      USER_LIST
------------------------------ -----------
110,151,260,376,539            2,3

SQL> 

SY.

Tags: Database

Similar Questions

  • Take the values of this same line of a column max

    Hello

    I did a group by in a query to date max of straight, but I need to take on values of that same line with this maximum value.

    Max (to_date(fec_ini_vigencia_costo,'DD/mm/YYYY')) is the line I want to take

    and

    -max (mto_precio_venta_cm_iva),
    -fec_fin_vigencia_costo,
    -l.CND_TRASPASADO_PRECIO

    the values I want to take advantage of this line

    select p.item_orms, 
           item_ebs, 
           description, 
           zone_id, 
           max(to_date(fec_ini_vigencia_costo,'DD/MM/YYYY')) as fecha_inicio,
           -- max(mto_precio_venta_cm_iva),
           -- fec_fin_vigencia_costo,
           -- l.CND_TRASPASADO_PRECIO
    from precios9 p,
         cmp_lineas_cotizacion_suc l,
         LCM.CMP_ENCABEZADO_COTIZACION d 
    where p.zone_id = 1
         and l.cod_producto = p.item_ebsi'
         and d.NUM_COTIZACION_ORCL = l.NUM_COTIZACION_ORCL
         and l.cod_sucursal in (125,89,90,92,95,97,99,101,104,106,108,110,112,115,83,85,
                               87,88,91,93,94,96,98,100,102,103,107,109,111,113,114,116,
                               117,120,123,124,128,130,132,134,135,133,131,129,118,182)
    group by p.item_orms, item_ebs, description, zone_id

    Buon Giornio!

    Here are two ways to do it. First of all, using analytical functions and then with a subquery.

    I took your sample data and converted into a WITH statement, so I could test my queries. The SQL code that you need to write is near the bottom.

    WITH dta AS (
    SELECT 100124238 AS ITEM_ORMS,1.1073131 AS ITEM_EBS,'Comino Badia Molido 28Gr' AS DESCRIPTION,1 AS ZONE_ID,TO_DATE('03/02/2007','dd/mm/yyyy') AS FEC_INI_VIGENCIA_COSTO,1.7 AS MTO_PRECIO_VENTA_CM_IVA,TO_DATE('08/12/2010','dd/mm/yyyy') AS FEC_FIN_VIGENCIA_COSTO,'Si' AS CND_TRASPASADO_PRECIO FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('09/06/2008','dd/mm/yyyy'),24.9,TO_DATE('13/04/2009','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('09/06/2008','dd/mm/yyyy'),24.9,TO_DATE('13/04/2009','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('09/06/2008','dd/mm/yyyy'),24.9,TO_DATE('13/04/2009','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('09/06/2008','dd/mm/yyyy'),24.9,TO_DATE('13/04/2009','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('09/06/2008','dd/mm/yyyy'),24.9,TO_DATE('13/04/2009','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('09/06/2008','dd/mm/yyyy'),24.9,TO_DATE('13/04/2009','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('09/06/2008','dd/mm/yyyy'),24.9,TO_DATE('13/04/2009','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('09/06/2008','dd/mm/yyyy'),24.9,TO_DATE('13/04/2009','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('09/06/2008','dd/mm/yyyy'),24.9,TO_DATE('13/04/2009','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('13/04/2009','dd/mm/yyyy'),31.95,TO_DATE('01/06/2009','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('13/04/2009','dd/mm/yyyy'),31.95,TO_DATE('01/06/2009','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('13/04/2009','dd/mm/yyyy'),31.95,TO_DATE('01/06/2009','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('13/04/2009','dd/mm/yyyy'),31.95,TO_DATE('01/06/2009','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('13/04/2009','dd/mm/yyyy'),31.95,TO_DATE('01/06/2009','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('13/04/2009','dd/mm/yyyy'),31.95,TO_DATE('01/06/2009','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('13/04/2009','dd/mm/yyyy'),31.95,TO_DATE('01/06/2009','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('13/04/2009','dd/mm/yyyy'),31.95,TO_DATE('01/06/2009','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('13/04/2009','dd/mm/yyyy'),31.95,TO_DATE('01/06/2009','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('01/06/2009','dd/mm/yyyy'),62,TO_DATE('11/06/2009','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('01/06/2009','dd/mm/yyyy'),62,TO_DATE('11/06/2009','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('01/06/2009','dd/mm/yyyy'),62,TO_DATE('11/06/2009','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('01/06/2009','dd/mm/yyyy'),62,TO_DATE('11/06/2009','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('01/06/2009','dd/mm/yyyy'),62,TO_DATE('11/06/2009','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('01/06/2009','dd/mm/yyyy'),62,TO_DATE('11/06/2009','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('01/06/2009','dd/mm/yyyy'),62,TO_DATE('11/06/2009','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('01/06/2009','dd/mm/yyyy'),62,TO_DATE('11/06/2009','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('01/06/2009','dd/mm/yyyy'),62,TO_DATE('11/06/2009','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('11/06/2009','dd/mm/yyyy'),62,TO_DATE('13/05/2010','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('11/06/2009','dd/mm/yyyy'),62,TO_DATE('13/05/2010','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('11/06/2009','dd/mm/yyyy'),62,TO_DATE('13/05/2010','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('11/06/2009','dd/mm/yyyy'),62,TO_DATE('13/05/2010','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('11/06/2009','dd/mm/yyyy'),62,TO_DATE('13/05/2010','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('11/06/2009','dd/mm/yyyy'),62,TO_DATE('13/05/2010','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('11/06/2009','dd/mm/yyyy'),62,TO_DATE('13/05/2010','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('11/06/2009','dd/mm/yyyy'),62,TO_DATE('13/05/2010','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('11/06/2009','dd/mm/yyyy'),62,TO_DATE('13/05/2010','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('11/06/2009','dd/mm/yyyy'),62,TO_DATE('13/05/2010','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('11/06/2009','dd/mm/yyyy'),62,TO_DATE('11/06/2009','dd/mm/yyyy'),'No' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('11/06/2009','dd/mm/yyyy'),62,TO_DATE('11/06/2009','dd/mm/yyyy'),'No' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('11/06/2009','dd/mm/yyyy'),62,TO_DATE('11/06/2009','dd/mm/yyyy'),'No' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('11/06/2009','dd/mm/yyyy'),62,TO_DATE('11/06/2009','dd/mm/yyyy'),'No' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('11/06/2009','dd/mm/yyyy'),62,TO_DATE('11/06/2009','dd/mm/yyyy'),'No' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('11/06/2009','dd/mm/yyyy'),62,TO_DATE('11/06/2009','dd/mm/yyyy'),'No' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('11/06/2009','dd/mm/yyyy'),62,TO_DATE('11/06/2009','dd/mm/yyyy'),'No' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('11/06/2009','dd/mm/yyyy'),62,TO_DATE('11/06/2009','dd/mm/yyyy'),'No' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('11/06/2009','dd/mm/yyyy'),62,TO_DATE('11/06/2009','dd/mm/yyyy'),'No' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('11/06/2009','dd/mm/yyyy'),62,TO_DATE('13/05/2010','dd/mm/yyyy'),'Si' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('13/05/2010','dd/mm/yyyy'),62,TO_DATE('13/05/2010','dd/mm/yyyy'),'No' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('13/05/2010','dd/mm/yyyy'),62,TO_DATE('13/05/2010','dd/mm/yyyy'),'No' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('13/05/2010','dd/mm/yyyy'),62,TO_DATE('13/05/2010','dd/mm/yyyy'),'No' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('13/05/2010','dd/mm/yyyy'),62,TO_DATE('13/05/2010','dd/mm/yyyy'),'No' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('13/05/2010','dd/mm/yyyy'),62,TO_DATE('13/05/2010','dd/mm/yyyy'),'No' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('13/05/2010','dd/mm/yyyy'),62,TO_DATE('13/05/2010','dd/mm/yyyy'),'No' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('13/05/2010','dd/mm/yyyy'),62,TO_DATE('13/05/2010','dd/mm/yyyy'),'No' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('13/05/2010','dd/mm/yyyy'),62,TO_DATE('13/05/2010','dd/mm/yyyy'),'No' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('13/05/2010','dd/mm/yyyy'),62,TO_DATE('13/05/2010','dd/mm/yyyy'),'No' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('13/05/2010','dd/mm/yyyy'),62,TO_DATE('13/05/2010','dd/mm/yyyy'),'No' FROM DUAL UNION ALL
    SELECT 100132641,1.1054401,'Crema Meggle Chantilly Natural 250Gr',1,TO_DATE('13/05/2010','dd/mm/yyyy'),62,TO_DATE('13/05/2010','dd/mm/yyyy'),'No' FROM DUAL
    )
    SELECT DISTINCT
       MAX ( FEC_FIN_VIGENCIA_COSTO ) OVER () FEC_FIN_VIGENCIA_COSTO
      , FIRST_VALUE ( MTO_PRECIO_VENTA_CM_IVA ) OVER ( ORDER BY FEC_FIN_VIGENCIA_COSTO DESC  ) AS MTO_PRECIO_VENTA_CM_IVA
      , FIRST_VALUE (  CND_TRASPASADO_PRECIO  ) OVER ( ORDER BY FEC_FIN_VIGENCIA_COSTO DESC  ) AS FEC_FIN_VIGENCIA_COSTO
    FROM dta
    ;
    
    FEC_FIN_V MTO_PRECIO_VENTA_CM_IVA FE
    --------- ----------------------- --
    08-DEC-10                     1.7 Si
    
    1 row selected.
    

    And here's the subquery

      << omitted the WITH clause here, just to save space >>
    
    SELECT
      MTO_PRECIO_VENTA_CM_IVA
      , FEC_FIN_VIGENCIA_COSTO
      , CND_TRASPASADO_PRECIO
    FROM dta
      WHERE FEC_FIN_VIGENCIA_COSTO = ( SELECT  MAX(  FEC_FIN_VIGENCIA_COSTO )  FROM dta )
    ;
    
      MTO_PRECIO_VENTA_CM_IVA FEC_FIN_V CN
      ----------------------- --------- --
                          1.7 08-DEC-10 Si
    
    1 row selected.
    

    I would caution you to be careful with either technique: you have not specified a deterministic sort. There are a lot of records with the same values in this field. If if were not for the record for December 8, 2010, the highest value would be on May 13, 2010, and there are 22 records with that value. This means that Oracle would have to break the tie.

  • Is there a way to find the length of a line, not a column

    I'm trying to find the length of a particular line in a table... is it possible?
    I don't mean length of the column value... I can get by using LENGTH (COLUMNNAME)
    I'm not average line length, I can get extended calculation or using the trace file.
    Please let me know if there is a function, that allows to calculate or any other solution.

    Thank you!

    >
    (1) select avg_row_len from dba_tables
    where table_name = 'abc ';
    I got the length of the average line like 65
    That means 65... It is 65 bytes/KB/MB, or what exactly is 65?
    >
    This means that 65 bytes - see ALL_TABLES in doc database
    http://docs.Oracle.com/CD/B19306_01/server.102/b14237/statviews_2105.htm#i1592091
    >
    (2) also a member of the team of mine use this query:
    SELECT sum (data_length) FROM ALL_TAB_COLUMNS WHERE
    table_name = 'ABC ';
    and divided the result above with the number of rows in this table

    Suppose that gives only the length of the average column type... is not our requirement?
    >
    At best, that would give you the MAXIMUM length that COULD be a line. It will not help at all. For example all columns defined as NUMBER (with any precision or scale) appears in the form of bytes 22 since they can take a lot. And a VARCHAR2 (4000) will be listed as 4000 even if it is NULL or if the average length is 2 bytes.

  • Just updated to Sierra and updated Pages at the same time. Now when I try to select a line of text I find myself with an insertion point where I stopped by selecting

    Today, I updated for Sierra and updated to the latest version of the Pages. Now I find that I am more able to select a line of text. When I try to do, I find myself with an insertion point where I stopped by selecting, but nothing is selected. This is a bug in the new version of pages or get my wrong settings?

    You use a Wacom tablet by chance?

    Solution: Press the shift key, just before stop selection. And Yes, that sounds like trouble in the Sierra.

  • Find most common value in a table of enums

    Hello

    I'm looking for a stylish way to find most common value in a table of enums

    My being of enum:

    0 - close

    1 - open

    2 - undefined

    For example, if my table contains:

    Close, close, open, close, close, open.

    The most common value would be 'Closed'

    I created a very personalized VI which allows me to get the desired result, but I'm really not proud of doing it this way, just simply because I need to change if I add a new value to my enum...

    If anyone can share some ideas to enlighten me, I would REALLY appreciate it.

    Thanks in advance!

    I don't know, I'd go the yard road, to propose, he could save a single iteration since you know 0 is the first point of departure, but you then must deal with the determination of lengths and dealing with missing values that return-1, etc..

    If you really expect of very large tables, I would have moved my previous version which is supposed to be quick to write in another simple method of counting.

  • Need help to select the value of the affected line

    Hello! I need help to write a statement Select returns a value of the respective line in a table. I have a table that contains an id and a name of entity and a table of addresses with the lines of address, city, province/state, country, etc, which is linked through the identifier. There may be several lines in this table for any entity id given etc. which are distinguished by a type of address for example Mailing, billing, payment, shipping,. I'm writing a view that returns the name of the entity, the city and the State. I want to use the address of delivery, if it exists, otherwise, I want the broadcast address. One of these types of addresses will still exist, and it is possible that both will exist. I'm just back to SQL after a prolonged absence and am not familiar with some of the new features. I'm also new to the Oracle community. We are on Oracle 11.2. Any help would be greatly appreciated. Thank you!!

    P.S. I posted this question a couple of weeks and got some responses. But I can't find the post. I thought I posted it here, but who knows! As I said, I'm new on this.

    Hello

    Here is an example of how to join another table to results of Top - N all:

    WITH got_r_num AS

    (

    SELECT deptno, job, ename, sal, hiredate

    Rank () OVER (PARTITION BY deptno

    CONTROL OF CASE work

    WHEN PRESIDENT", THEN"A ".

    WHEN 'MANAGER' THEN 'B '.

    END

    ) AS r_num

    FROM scott.emp

    WHERE job IN ('MANAGER', 'PRÉSIDENT')

    )

    SELECT d.deptno, d.dname

    r.ename, r.job, r.sal, r.hiredate

    Got_r_num r

    JOIN scott.dept d.deptno d = r.deptno

    WHERE r.r_num = 1

    ORDER BY d.deptno

    ;

  • Need to find the common number

    Need to find a common number among all of the calls:



    Create table call (key id Number (15) not null, mobile_number number primary (10), other_party number (10), call_type varchar2 (10), the call_date_time date, number (15)) duration;


    insert into values of the call (1,9818764535,9899875643, 'IN', to_date (24 April 13 02:10:43 "," dd-MON-yy hh24:mi:ss'), 10);
    Insert in appeal values (2, 9897451236,9899875643, 'OUT', to_date (April 28, 13 08:11:13 "," dd-MON-yy hh24:mi:ss'), 20);
    Insert in appeal values (3, 9899917277,9899875643, 'IN', to_date (30 April 13 18:07:02 "," dd-MON-yy hh24:mi:ss'), 30);
    insert into values of the call (4,9818764535,9215478213, 'IN', to_date (1 May 13 02:11:13 "," dd-MON-yy hh24:mi:ss'), 40);
    Insert in appeal values (5, 9899917277,9215478213, 'IN', to_date (1 May 13 08:17:02 "," dd-MON-yy hh24:mi:ss'), 25);
    Insert in appeal values (6, 9897451236,9012451785, 'OUT', to_date (1 May 13 20:21:04 ',' dd-MON-yy hh24:mi:ss'), 67);



    Query criteria:

    common calling to the list of numbers that is in contact with the listed numbers.

    Mobile_number entry:
    9818764535
    9897451236
    9899917277


    exit number common

    Mobile another numberlength part Date_Time

    9818764535 9899875643 24 APRIL 13 02:10:43 10
    9897451236 9899875643 28 APRIL 13 08:11:13 20
    9899917277 9899875643 30 APRIL 13 18:07:02 30

    Hello

    One way is to encrypt the target in a table game or result, as above, knapen don't:

    WITH    input_number     AS
    (
         SELECT  9818764535 AS mobile_number  FROM dual    UNION ALL
           SELECT      9897451236                   FROM dual    UNION ALL
           SELECT      9899917277                FROM dual
    )
    SELECT     *     -- or list columns wanted
    FROM     call
    WHERE     mobile_number     IN (SELECT  mobile_number  FROM  input_number)
    AND     other_party     IN (SELECT  mobile_number  FROM  input_number)
    ;
    
  • Any text strings have new lines where they shouldn't

    Using AS3 in flash CS4

    Hi I have a text imported from a bounded/separated tab (.txt) text file.

    I divided the values in a table using .split ('\n').split('\t')

    I stored the data imported into a table where each column has a new index and the properties of each line can be obtained from the table [n] .property. For example, array [4] .name would give the "entity name 4th in the original text file."

    This all works fine however some of the separate strings are formatted incorrectly that they absorb 2 lines instead of one.

    The first string in each line of the original text file is imported into flash with a new line above him. "That is to say: 'Property1' in the text file delimited: original separation/tab is stored in flash as"

    Property1"with a new line above it. I need to get rid of this new line in order to correctly display the text in the text fields.

    Can someone please.

    PS: I will not change my file format import from a file delimited text tab, something like xml, so please don't suggest that he.

    those who are not functions of string-band.  These are white space characters.  all white space characters are ignored by the backslash character.

    I used two of them and in my years of using the flash, I've never used more than these two and \t = tab, even if I know two other:

    \b = RET.

    \f = page break

    I used:

    \r = carriage return

    \n = new line

    the code I gave converted a break line, followed by a newline on a new line, only.  and he converted a carriage return followed of a new line on a new line, only.

    Please mark this thread as answered, if you can.

  • All the dimension values must be single line values

    I created a Simple hierarchy with the following levels:

    Category
    Subcategory
    Agenda

    The mapping of the hierarchy above is based on a table where the column list are as follows:

    ITEM_KEY
    NOM_ELEMENT
    BRAND_KEY
    BRAND_NAME
    CATEGORY_KEY
    CATEGORY_NAME
    SUBCATEGORY_KEY
    SUBCATEGORY_NAME


    Item_key is the primary key for this table and nom_element is also unique.

    When I maintain this dimension, the following error occurs:


    An error occurred on the server
    Class of error: failure of the Express
    Server error descriptions:
    INI: Error creating a generic Manager definition to < BuildProcess > TxsOqConnection::generic
    INI: XOQ-01600: OLAP DML error "all dimension values must be single line values." while executing DML 'SYS. AWXML! R11_COMPILE_ATTRIBUTES('ITEM.) DIMENSION') ', generic for TxsOqStdFormCommand::execute '.

    at oracle.olapi.data.source.DataProvider.callGeneric (unknown Source)
    at oracle.olapi.data.source.DataProvider.callGeneric (unknown Source)
    at oracle.olapi.data.source.DataProvider.executeBuild (unknown Source)
    to oracle.olap.awm.wizard.awbuild.UBuildWizardHelper$ 1.construct (unknown Source)
    to oracle.olap.awm.ui.SwingWorker$ 2.run (unknown Source)
    at java.lang.Thread.run(Thread.java:595)

    The essential error is "all the dimension values must be unique row values", which means that the server tries to create a dimension of AW member containing a newline character. The error occurs under the SYS. AWXML! Procedure R11_COMPILE_ATTRIBUTES, which is where the attributes are indexed (i.e. transformed into dimension members). If my guess is that one of your attributes (likely mapped to a column _NAME) contains a new line.   The solution is to disable the indexing for that attribute.   In terms of AWM you must make sure the following boxes are not activated in the "Général" pane

  • Create the views level attribute columns
  • Index

  • convert the column values to a single line...

    I have to return the column values to a single line separated by commas.
    If the nulls in the column just ignore without a comma.
    Here is one for example. There are three values and two NULL values in the table
    SQL> select ID from temp_fa;
    ID
    -----
    
             1
             2
    
             3
    
             5
    
    6 rows selected.
    
    
    I am expecting an output as 1,2,3,5
    Help, please

    There is always more than one title in the Oracle world ;)
    You can use the TRIM, for example (same configuration as your example):

    hoek&XE>  create table t as select level col  from dual connect by level <= 6;
    
    Tabel is aangemaakt.
    
    hoek&XE> update t set col = null where col in (1,3,5);
    
    3 rijen zijn bijgewerkt.
    
    hoek&XE> select * from t;
    
           COL
    ----------
    
             2
    
             4
    
             6
    
    6 rijen zijn geselecteerd.
    
    hoek&XE> select ltrim(sys_connect_by_path(col, ','), ',') output
      2  from  ( select col
      3          ,      row_number() over (order by col) rn
      4          from   t
      5        )
      6  where connect_by_isleaf=1
      7  start with rn=1
      8  connect by rn = prior rn+1;
    
    OUTPUT
    -------------------------------------------------------------------------------------------------------------
    2,4,6,,,
    
    1 rij is geselecteerd.
    
    hoek&XE> select trim ( both ',' from sys_connect_by_path(col, ',')) output
      2  from  ( select col
      3          ,      row_number() over (order by col) rn
      4          from   t
      5        )
      6  where connect_by_isleaf=1
      7  start with rn=1
      8  connect by rn = prior rn+1;
    
    OUTPUT
    -------------------------------------------------------------------------------------------------------------
    2,4,6
    
    1 rij is geselecteerd.
    
  • How to get the values of the modified line of table of the ADF?

    JDev 11.

    I have a table that is filled with bean data.
    I need to save changes after the user makes changes in any table cell. InputText is defined for the table column component.
    I've defined ValueChangeListener for inputText field and AutoSubmit = true. So when the user change the value field inputText, the method is called:

    public void SaveMaterial (ValueChangeEvent valueChangeEvent) {}
    getSelectedRow();
    SaveMaterial (material);
    }

    This method must call getSelectedRow that take values of the selected table row and save them in object:

    private line {} getSelectedRow()

    Table richeTableau = this.getMaterialTable ();
    Selection of the iterator = table.getSelectedRowKeys () .iterator ();
    While (selection.hasNext ())
    {
    Key of the object = next ();
    table.setRowKey (key);
    Object o = table.getRowData ();
    material = o (HARDWARE);
    }
    System.out.println ("selected hardware Desc =" + material.getEnumb ());
    Returns a null value.
    }

    Problem is that getSelectedRow method is not new (edited) values, old values are still used.

    I tried to use ActiveButton with the same method and it works very well in this case. New values are inserted and active line in the object selected.

    JSF:

    < af:table var = 'row' rowSelection = "single" columnSelection = "unique."
    value = "#{ManageWO.Material}" binding = "#{ManageWO.materialTable}" > "

    < af:column sortable = "false" headerText = "E-number" >
    "< af:inputText value =" #{row.enumb} "valueChangeListener =" #{ManageWO.SaveMaterial} "autoSubmit ="true"/ >
    < / af:column >

    < af:column sortable = "false" headerText = "Description" >
    "< af:inputText value =" #{row.desc} "valueChangeListener =" #{ManageWO.SaveMaterial} "autoSubmit ="true"/ >
    < / af:column >
    ......
    < / af:table >

    < af:activeCommandToolbarButton text = "Save" action = "#{ManageWO.EditData}" / >


    What is a good place where Save method must be called to get the new values (edited) table of the ADF?

    Thank you.

    Have you looked into the valueChangeEvent?

    There oldValue and newValue attributes.

    public void SaveMaterial(ValueChangeEvent valueChangeEvent) {
    Object oldVal = valueChangeEvent.getOldValue();
    Object newVal = valueChangeEvent.getNewValue();
    // check if you see what you are looking for.....
    getSelectedRow();
    SaveMaterial(material);
    }
    

    Timo

  • 'get info' show only 2 GB available; Finder displays 100 GB available. Where is my space?

    'get info' show only 2 GB available; Finder displays 100 GB available. Where is my space?

    http://pondini.org/OSX/LionStorage.html

    You can have a lot of "other".

    What is 'other' storage and what size should it be?

    You can try an app like Disksweeper

    https://www.OmniGroup.com/more

    or

    http://grandperspectiv.sourceforge.NET/

  • How can I find out what that different revisions of Firefox difficulty or address?

    How can I find out what that different revisions of Firefox difficulty or address?

    Hello charlesmiller000, you can see the firefox release notes:
    https://www.Mozilla.org/en-us/Firefox/releases/

  • This line where you can see your bookmarks and stuff are gone... ! How can I get that back?

    my laptop is 93.1% full so its quite slow work... I was on a website and I tried to click right (I needed to copy something) and the computer was slow, it didn't work. (already happened). so I tried a few times right click and before I new it this line where you can see your bookmarks (and other stuff) had disappeared. ! I tried right click again to see if I could get back, but it did not work. then I tried to turn off the computer and it still does not work. How can I get that back? and if I get it back, all my favorites will be gone?

    Versions of Firefox 3.6 + have a feature to allow the user to hide the Menu bar.

    Press the Alt key to temporarily show the Menu bar, then open view > toolbars and select menu bar, so it has a check mark.

    The F10 can also be used on most PCs to temporarily reveal the menu bar.

    https://support.Mozilla.com/en-us/KB/menu+bar+is+missing

  • Please help I'm looking for the dowload 10.10 update my dads computer and I can not find it! Does anyone know where could it have?

    Please help I'm looking for the dowload 10.10 update my dads computer and I can not find it! Does anyone know where could it have?

    10.10 is no longer available unless you had previously downloaded. In this case, it would be in the purchase of the Mac App Store section. Its not available for direct plus download.

    You can directly update 10.11 El Capitan.

Maybe you are looking for