表名Concat的到列可以說,我在mysql中如何在mysql中
Owners - id, name
Pets - id, name, owner_id
SELECT pets.*, owners.* FROM pets JOIN owners ON owners.id=pets.owner_id
連接兩個表的結果回來用多個ID和名稱列。有沒有辦法讓列以區分像pets.id
和owners.id
這樣的表的方式返回,而不指定每個列名?
表名Concat的到列可以說,我在mysql中如何在mysql中
Owners - id, name
Pets - id, name, owner_id
SELECT pets.*, owners.* FROM pets JOIN owners ON owners.id=pets.owner_id
連接兩個表的結果回來用多個ID和名稱列。有沒有辦法讓列以區分像pets.id
和owners.id
這樣的表的方式返回,而不指定每個列名?
表:
CREATE TABLE `my_table_name` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
查詢:
SELECT GROUP_CONCAT(CONCAT(" ", table_name,".", column_name, " as `", table_name, ".", column_name, "`")) FROM information_schema.columns WHERE table_name='my_table_name';
結果:
my_table_name.id as `my_table_name.id`, my_table_name.name as `my_table_name.name`
只要命名列?
SELECT pets.id AS pets_id,
owners.id AS owners_id,
pets.name AS pets_name,
owners.name AS owners_name
FROM pets JOIN owners
ON owners.id=pets.owner_id
對不起,我應該指定我沒有手動指定每一列 – joels
可能的解決方法可以[關於這裏的問題找到。](HTTP:/ /stackoverflow.com/questions/6911698/rename-a-select-column-in-sql) – AGoranov