相关疑难解决方法(0)

SQL select join:是否可以将所有列添加为'prefix.*'?

我想知道这在SQL中是否可行.假设您有两个表A和B,并在表A上执行选择并在表B上进行连接:

SELECT a.*, b.* FROM TABLE_A a JOIN TABLE_B b USING (some_id);
Run Code Online (Sandbox Code Playgroud)

如果表A包含列'a_id','name'和'some_id',而表B包含'b_id','name'和'some_id',则查询将返回列'a_id','name','some_id ','b_id','name','some_id'.有没有办法为表B的列名添加前缀而不单独列出每一列?相当于:

SELECT a.*, b.b_id as 'b.b_id', b.name as 'b.name', b.some_id as 'b.some_id'
FROM TABLE_A a JOIN TABLE_B b USING (some_id);
Run Code Online (Sandbox Code Playgroud)

但是,如上所述,没有列出每一列,所以类似于:

SELECT a.*, b.* as 'b.*'
FROM TABLE_A a JOIN TABLE_B b USING (some_id);
Run Code Online (Sandbox Code Playgroud)

基本上可以说,"b.*返回的每一列都带有'某事'".这可能还是我运气不好?

在此先感谢您的帮助!

编辑:不使用SELECT*等建议是有效的建议,但在我的上下文中不相关,所以请坚持手头的问题 - 是否可以添加前缀(SQL查询中指定的常量)给所有连接中表的列名?

编辑:我的最终目标是能够在两个带连接的表上执行SELECT*,并且能够从我在结果集中获得的列的名称中说明哪些列来自表A以及哪些列来自哪些列从表B.再次,我不想单独列出列,我需要能够做一个SELECT*.

sql join

189
推荐指数
9
解决办法
13万
查看次数

MySQL concat()创建要在查询中使用的列名?

我希望以列名的第一部分是字符串的方式连接列名,第二部分是另一个查询的结果的数字.

例如:

SELECT CONCAT('column', mytable.mycolumn) FROM table ...
Run Code Online (Sandbox Code Playgroud)

这可以通过某种方式完成.这样它不会给我错误,但我没有得到预期的结果,似乎连接不起作用.

mysql concat

13
推荐指数
2
解决办法
3万
查看次数

用原始表名为由 left_join() 产生的所有列添加前缀

我想为由左连接产生的所有列添加前缀。

left_join()当被连接的两个表之间的名称相同时,可以添加后缀。但是,即使它们的名称不同,它也没有始终添加此后缀的选项。并且它没有选项来代替添加前缀。

library(dplyr)
library(nycflights13)
flights2 <- flights %>% select(year:day, hour, origin, dest, tailnum, carrier)
airports2 <- airports

result <- flights2 %>% left_join(airports2, c("dest" = "faa")) %>% head()
Run Code Online (Sandbox Code Playgroud)

结果:

Source: local data frame [6 x 14]

year month   day  hour origin  dest tailnum carrier                            name
(int) (int) (int) (dbl)  (chr) (chr)   (chr)   (chr)                           (chr)
1  2013     1     1     5    EWR   IAH  N14228      UA    George Bush Intercontinental
2  2013     1     1     5    LGA   IAH  N24211      UA    George Bush Intercontinental
3  2013 …
Run Code Online (Sandbox Code Playgroud)

join r relational-database dplyr

6
推荐指数
1
解决办法
7121
查看次数

标签 统计

join ×2

concat ×1

dplyr ×1

mysql ×1

r ×1

relational-database ×1

sql ×1