If you compare the two variants, both of which worked partly, you may notice that in the first you left out the "items" field, which is why it didn't show up in the result. The join field is not automatically part of the output.:
Quote:
Originally Posted by wanderingmind16
Code:
join -t, -1 1 -2 1 -a 1 -a 2 -e 0 -o 1.2,1.3,1.4,2.3 xxx yyy
Instead of leaving it out you ordered it twice (once from file 1, once from file 2) here:
Code:
join -t, -1 1 -2 1 -a 1 -a 2 -e 0 -o 1.1,2.1,1.2,1.3,1.4,2.3 xxx yyy
The solution - as often, it is almost philosophical ;-)) - is the middle way of including the field only once. Wether you use "1.1" (include it from the first file) or "2.1" (include it from the second file) doesn't matter as these fields are equal anyway - you joined on them.
I have a stored procedure that is failing. The current query behind it is:
SELECT DISTINCT
<many, many values>
FROM
table1
LEFT OUTER JOIN table2 ON
(table2.key =
(select max (table2.key) from table2
where table2.key = table1.key) or
... (0 Replies)
example sql:
select a.a1,b.b1,c.c1,d.d1,e.e1
from a
left outer join b on a.x=b.x
left outer join c on b.y=c.y
left outer join d on d.z=a.z
inner join a.t=e.t
I know how single outer or inner join works in sql.
But I don't really understand when there are multiple of them.
can... (0 Replies)
Hi all,
I am trying to merge three lines into one in my unix text file.
My text file sis omething like this.
xxxxxxxxx
yyyyyyyyyyy
zzz
aaaaaaaaa
bbbbbb
ccccc
Expected out put is
xxxxxxxxx yyyyyyyyyyy zzz
aaaaaaaaa bbbbbb ccccc
I tried with awk as shown below. (23 Replies)
Hi,
I have a code where it traverses through each record froma table and creates records in another table. I use FOREACH cursor to do this, i'm using another cursor inside the FOREACH to fetch the details of other table. Please suggest me which would be more efficient, as this will run against... (2 Replies)
Hi,
I am trying to join two simple files but unable to do so properly.
File R1 :
100
101
102
105
.
.
1000
10001
File R2
100|x1
102|x2
1000|a1
10001|a2
and when i do (4 Replies)
Hi,
I have a unix file which has many lines, i need to join all the lines to single line.
Eg: myfile.txt contains:
a
123
45fg
try
and i need the output as :
a 123 45fg try
Please help me on this.
Thanks! (2 Replies)
Hi I'm comparing same files names which are in different folders .
The first for loop for the files in DAY1 folder and
the second for loop for the files in DAY2 folder .
the first IF condition is for checking whether the file names are equal
the second If condtion is for checking the... (4 Replies)
Hello folks
I have 2 files which are like this:
file (a):
id phenotype
100 1.2
200 -0.5
300 3.1
file (b)
id genotype
100 0 1 2 ......
200 1 1 1......
300 2 0 0 .......
I should mention in file (a) I have 2... (3 Replies)
Hello All,
I'm working on a Shell script to join data from two files using Join command but not able to get the desired output as its throwing me an error:
I have sorted the two files on the Column 1 numerically which is used as Join clause
File 1:
1,ABC,GGG,20160401
2,XYZ,KKK,20160401... (2 Replies)
Discussion started by: venkat_reddy
2 Replies
LEARN ABOUT LINUX
join
JOIN(1) User Commands JOIN(1)NAME
join - join lines of two files on a common field
SYNOPSIS
join [OPTION]... FILE1 FILE2
DESCRIPTION
For each pair of input lines with identical join fields, write a line to standard output. The default join field is the first, delimited
by whitespace. When FILE1 or FILE2 (not both) is -, read standard input.
-a FILENUM
print unpairable lines coming from file FILENUM, where FILENUM is 1 or 2, corresponding to FILE1 or FILE2
-e EMPTY
replace missing input fields with EMPTY
-i, --ignore-case
ignore differences in case when comparing fields
-j FIELD
equivalent to `-1 FIELD -2 FIELD'
-o FORMAT
obey FORMAT while constructing output line
-t CHAR
use CHAR as input and output field separator
-v FILENUM
like -a FILENUM, but suppress joined output lines
-1 FIELD
join on this FIELD of file 1
-2 FIELD
join on this FIELD of file 2
--check-order
check that the input is correctly sorted, even if all input lines are pairable
--nocheck-order
do not check that the input is correctly sorted
--header
treat the first line in each file as field headers, print them without trying to pair them
--help display this help and exit
--version
output version information and exit
Unless -t CHAR is given, leading blanks separate fields and are ignored, else fields are separated by CHAR. Any FIELD is a field number
counted from 1. FORMAT is one or more comma or blank separated specifications, each being `FILENUM.FIELD' or `0'. Default FORMAT outputs
the join field, the remaining fields from FILE1, the remaining fields from FILE2, all separated by CHAR.
Important: FILE1 and FILE2 must be sorted on the join fields. E.g., use ` sort -k 1b,1 ' if `join' has no options, or use ` join -t '' '
if `sort' has no options. Note, comparisons honor the rules specified by `LC_COLLATE'. If the input is not sorted and some lines cannot
be joined, a warning message will be given.
AUTHOR
Written by Mike Haertel.
REPORTING BUGS
Report join bugs to bug-coreutils@gnu.org
GNU coreutils home page: <http://www.gnu.org/software/coreutils/>
General help using GNU software: <http://www.gnu.org/gethelp/>
Report join translation bugs to <http://translationproject.org/team/>
COPYRIGHT
Copyright (C) 2010 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
SEE ALSO comm(1), uniq(1)
The full documentation for join is maintained as a Texinfo manual. If the info and join programs are properly installed at your site, the
command
info coreutils 'join invocation'
should give you access to the complete manual.
GNU coreutils 8.5 February 2011 JOIN(1)