Run Code
|
API
|
Code Wall
|
Users
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
MySQL DISTINCT con GROUP BY?
Language:
Ada
Assembly
Bash
C#
C++ (gcc)
C++ (clang)
C++ (vc++)
C (gcc)
C (clang)
C (vc)
Client Side
Clojure
Common Lisp
D
Elixir
Erlang
F#
Fortran
Go
Haskell
Java
Javascript
Kotlin
Lua
MySql
Node.js
Ocaml
Octave
Objective-C
Oracle
Pascal
Perl
Php
PostgreSQL
Prolog
Python
Python 3
R
Rust
Ruby
Scala
Scheme
Sql Server
Swift
Tcl
Visual Basic
Layout:
Vertical
Horizontal
/* -- ATENCIÓN NO USE DROP TABLE CON SUS TABLAS REALES -- YA QUE DROP TABLE BORRARÁ SUS DATOS -- DROP TABLE SE USA AQUÍ SÓLO PARA PODER PROBAR LOS DATOS */ DROP TABLE IF EXISTS carrito_20170831,contenido_carrito_20170831,articulo_20170831,cliente_20170831; /* NO COPIE LA SENTENCIA ^ DROP TABLE ^ EN SUS DATOS REALES */ CREATE TABLE IF NOT EXISTS carrito_20170831 ( idCarrito VARCHAR(20) NOT NULL PRIMARY KEY, idCliente VARCHAR(20) NOT NULL); CREATE TABLE IF NOT EXISTS contenido_carrito_20170831 ( idContenidoCarrito INT NOT NULL AUTO_INCREMENT PRIMARY KEY, idCarrito VARCHAR(20) NOT NULL, idArticulo VARCHAR(20) NOT NULL, costo DECIMAL(10,2) NOT NULL); CREATE TABLE IF NOT EXISTS articulo_20170831 ( idArticulo VARCHAR(20) NOT NULL PRIMARY KEY, descripcionArticulo VARCHAR(150) NOT NULL); CREATE TABLE IF NOT EXISTS cliente_20170831 ( idCliente VARCHAR(20) NOT NULL PRIMARY KEY, cliente VARCHAR(20) NOT NULL); INSERT INTO carrito_20170831 (idCarrito, idCliente) VALUES ('C1','CL1'), ('C2','CL2'), ('C3','CL3') ; INSERT INTO contenido_carrito_20170831 (idCarrito, idArticulo, costo) VALUES ('C1','A1',100.99), ('C1','A5',85.10), ('C1','A3',23.99), ('C2','A2',40.00), ('C2','A4',33.30) ; INSERT INTO articulo_20170831 (idArticulo, descripcionArticulo) VALUES ('A1','Artículo 1'), ('A2','Artículo 2'), ('A3','Artículo 3'), ('A4','Artículo 4'), ('A5','Artículo 5') ; INSERT INTO cliente_20170831 (idCliente, cliente) VALUES ('CL1','Pedro'), ('CL2','Santiago'), ('CL3','Juan') ; SELECT cl.cliente, GROUP_CONCAT(CONCAT_WS('_',ar.descripcionArticulo, cc.costo) SEPARATOR '|') articulos FROM carrito_20170831 ca INNER JOIN cliente_20170831 cl ON ca.idCliente=cl.idCliente INNER JOIN contenido_carrito_20170831 cc ON ca.idCarrito=cc.idCarrito INNER JOIN articulo_20170831 ar ON cc.idArticulo=ar.idArticulo -- WHERE ca.idCarrito='C1' GROUP BY ca.idCarrito;
absolute service time: 0,46 sec
edit mode
|
history
cliente
articulos
1
Pedro
Artículo 3_23.99|Artículo 1_100.99|Artículo 5_85.10
2
Santiago
Artículo 2_40.00|Artículo 4_33.30