php sql 只为一张表全选

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/3293060/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-25 09:15:28  来源:igfitidea点击:

sql select all for one table only

phpsqlpostgresql

提问by Keith

I have a couple joins that I'm doing. I say tablename.column to identify what I want to select in the database...don't want to select all columns. However, my last join I do want to select all for that. Is there a way I can use an asterisk or something for the last join?

我正在做一些连接。我说 tablename.column 来确定我想在数据库中选择什么......不想选择所有列。但是,我最后一次加入时,我确实想为此选择全部。有没有办法可以在最后一次加入时使用星号或其他东西?

The last table is going to be dynamic too so I can't hard code it in (although I could write it out dynamically) but thought there might be an easier way.

最后一个表也将是动态的,所以我不能对其进行硬编码(尽管我可以动态地写出它)但认为可能有更简单的方法。

    SELECT content_name.name,
           house.listing,
           street.* 
      FROM content 
INNER JOIN house ON content_name.id=house.id 
 LEFT JOIN street ON content_name.id=street.id;

回答by rfusca

Alias your last table the same way everytime, and then just .* your alias.

每次都以相同的方式为您的最后一张表添加别名,然后只使用 .* 您的别名。

SELECT content_name.name,house.listing, last_table.* 
FROM content INNER JOIN house ON 
content_name.id=house.id 
LEFT JOIN street last_table ON content_name.id=last_table.id;

That being said, * in a production query is an accident waiting to happen.

话虽如此,生产查询中的 * 是等待发生的意外。