sql >> Databasteknik >  >> RDS >> Mysql

Gruppera utdata från VISA KOLUMNER i en kommaavgränsad lista

Ta en titt 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'

redigera. Informationsschema låter dig göra frågor om metadata. Så du kan till exempel jämföra fält mellan tabeller med en vänsterkoppling.

redigera. Hej Chris. Kul att du har löst det. Som du sa var ditt problem helt annorlunda eftersom det gällde olika servrar. Jag lägger till ett exempel på två olika databaser på samma 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

och det uppenbara resultatet är dob som finns i tabell1 och inte i tabell2.

Hoppas att det hjälper någon annan. Hälsningar killar. :)



  1. Är det möjligt att använda SqlGeography med Linq till Sql?

  2. MariaDB Server 10.0.33 nu tillgänglig

  3. MySQL - Är det möjligt att använda LIKE på alla kolumner i en tabell?

  4. Uppdatera rad med data från en annan rad i samma tabell