Comments (5)
sorry, just saw your reply after mine ;-)
Thank you for a good issue.
The reason is that json is unified when there is the same column name.
If you add an alias to the column name, all columns will be output.trdsql -ojson "SELECT u.c1 as no,u.c2 as user ,h.c2 as date FROM user.csv as u LEFT JOIN hist.csv as h ON(u.c1=h.c1)"
[ { "date": "2017-7-10", "no": "1", "user": "userA" }, { "date": "2017-7-10", "no": "2", "user": "userB" }, { "date": "2017-7-11", "no": "2", "user": "userB" } ]
from trdsql.
Maybe as an extra comment for future reference or addition to the docs. Here is a grouping example done via jq (https://stedolan.github.io/jq/)
❯ docker run --rm -it -v $(pwd):/tmp noborus/trdsql -ojson "SELECT u.c1 as id,u.c2 as name,h.c2 as date FROM /tmp/user.csv as u LEFT JOIN /tmp/hist.csv as h ON(u.c1=h.c1)" > out.json
❯ cat out.json
[
{
"date": "2017-7-10",
"id": "1",
"name": "userA"
},
{
"date": "2017-7-10",
"id": "2",
"name": "userB"
},
{
"date": "2017-7-11",
"id": "2",
"name": "userB"
}
]
❯ cat out.json | jq 'group_by({id}) | map ({id: .[0].id, data: map({date: .date, name: .name}) })'
[
{
"id": "1",
"data": [
{
"date": "2017-7-10",
"name": "userA"
}
]
},
{
"id": "2",
"data": [
{
"date": "2017-7-10",
"name": "userB"
},
{
"date": "2017-7-11",
"name": "userB"
}
]
}
]
from trdsql.
Thank you for a good issue.
The reason is that json is unified when there is the same column name.
If you add an alias to the column name, all columns will be output.
trdsql -ojson "SELECT u.c1 as no,u.c2 as user ,h.c2 as date FROM user.csv as u LEFT JOIN hist.csv as h ON(u.c1=h.c1)"
[
{
"date": "2017-7-10",
"no": "1",
"user": "userA"
},
{
"date": "2017-7-10",
"no": "2",
"user": "userB"
},
{
"date": "2017-7-11",
"no": "2",
"user": "userB"
}
]
from trdsql.
Giving an alias to the column names solves the issue:
❯ docker run --rm -it -v $(pwd):/tmp noborus/trdsql -ojson "SELECT u.c1 as uc1,u.c2 as uc2,h.c2 as hc2 FROM /tmp/user.csv as u LEFT JOIN /tmp/hist.csv as h ON(u.c1=h.c1)"
Was expecting a nested result though, hence my initial question.
from trdsql.
Thank you very much.
I will refer to it.
from trdsql.
Related Issues (20)
- UTF-8 Byte Order Markers should be ignored HOT 1
- -driver postgres returns SSL error HOT 2
- Not able to use JSON_EXTRACT HOT 2
- Can't you use the WHERE statement? HOT 5
- build Dockerfile with multi-stage ? It also supports ARM64 HOT 2
- `CREATE TABLE AS` and` INSERT INTO table SELECT` Is output as an example of SQL
- Question. Can trdsql query by a column has no value(null or empty) HOT 5
- binary is not completely statically compiled HOT 5
- "null" representation HOT 1
- Specifying column types HOT 3
- Multiple queries HOT 2
- Support for DuckDB HOT 1
- `-ijq` does not work correctly from stdin HOT 1
- Error: Cannot tap noborus/tap: invalid syntax in tap! HOT 1
- Cannot use the tool, process gets instantly killed with 137 exit code HOT 13
- support logfmt
- feature request: support input format yaml file HOT 2
- feature request: automatically quote columns HOT 1
- Brew SHA256 Mismatch HOT 2
- Hi is there any versions of trdsql that work with "GLIBC_2.28"? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from trdsql.