sql >> Database teknologi >  >> RDS >> Mysql

Gruppér output af VIS KOLONNER i en kommasepareret liste

Tag et kig på tabellen information_schema.columns

select group_concat(column_name order by ordinal_position)
from information_schema.columns
where table_schema = 'database_name' and table_name = 'table_name'

redigere. Informationsskema giver dig mulighed for at foretage forespørgsler på metadata. Så du kan endda sammenligne felter mellem tabeller med f.eks. en venstre joinforbindelse.

redigere. Hej Chris. Godt du har løst. Som du sagde, var dit problem ganske anderledes, fordi det vedrørte forskellige servere. Jeg tilføjer et eksempel på to forskellige databaser på den samme server.

create database db1;
use db1;
create table table1(
id int not null auto_increment primary key,
name varchar(50),
surname varchar(50),
dob date)
engine = myisam;

create database db2;
create table db2.table2 like db1.table1;
alter table db2.table2 drop column dob;

select i1.column_name from (
select column_name
from information_schema.columns 
where table_schema = 'db1' and table_name = 'table1' ) as i1
left join (
select column_name
from information_schema.columns 
where table_schema = 'db2' and table_name = 'table2' ) as i2
on i1.column_name = i2.column_name
where i2.column_name is null

og det åbenlyse resultat er dob, der er til stede i tabel1 og ikke i tabel2.

Håber det hjælper en anden. Hilsen gutter. :)



  1. Ret fejl "ORA-01790:udtryk skal have samme datatype som tilsvarende udtryk"

  2. MySQL fjerner duplikerede rækker

  3. Hvordan man forstår en FORKLAR ANALYSE

  4. Udbyder navngivet pipes provider fejl 40 kunne ikke åbne en forbindelse til SQL Server fejl 2