我想在選擇所有字段的選定字段上使用新名稱。選擇所有,但選擇所有數據時使用newname,而選擇所有數據
即
SELECT id NEWNAME uid all fields form table;
有反正對我來說,做到這一點,因爲表中有很多領域我一直在尋找一個較短的版本。或者我總是可以得到表的字段implode他們在一個字符串替換領域與字段NEWNAME new_field但這並不短。有什麼建議嗎?
謝謝
我想在選擇所有字段的選定字段上使用新名稱。選擇所有,但選擇所有數據時使用newname,而選擇所有數據
即
SELECT id NEWNAME uid all fields form table;
有反正對我來說,做到這一點,因爲表中有很多領域我一直在尋找一個較短的版本。或者我總是可以得到表的字段implode他們在一個字符串替換領域與字段NEWNAME new_field但這並不短。有什麼建議嗎?
謝謝
一個select_expr可以使用AS * ALIAS_NAME *被賦予一個別名。 別名是 ,用作表達式的列名稱,可用於GROUP BY, ORDER BY或HAVING子句。例如:
SELECT CONCAT(last_name,', ',first_name) AS full_name
FROM mytable ORDER BY full_name;
要做到這一點,你需要使用一個別名,專門致電,你會需要拉每個表列。但是不要使用所有列的*
列匹配。一個例子可能是:
SELECT id as user_id,name as user_name,
st_code as state,postal as zipcode from table
如果您是從兩個不同的表通過拉動了重複的列名,你會做這樣的事情:
SELECT a.id as user_id,b.id as parent_id
from table_1 a,table_2 b where b.name=a.name;
排除舊ID,這也將返回id和user_id,我是否正確? – magicianiam
@magicianlam如果你有兩個不同的列,一個id和一個user_id,他們只會在你請求它們時返回。 –
是否有可能不在結果查詢中包含id?以避免重複輸入。謝謝 – magicianiam
你能設法從表中選擇所有COLUMS
只需使用*
並選擇ID與ALIAS
SELECT *, id as NEWNAME from table;
爲了讓OP稱它爲*「exempt」*舊名稱,他們將不得不用新名稱列出每一列,而不是對所有列使用'*'列匹配。 –
您可以使用下面的方法:
select a.id as newname, a.* from tablename a
而缺點是在選定的列中也重複了id。
然後我可以只使用豁免不包括ID? – magicianiam
你不能在那裏添加任何豁免。 a。*將包含所有字段。您將有一個額外的字段,您可以在處理結果集時忽略它。如果你不想要任何額外的字段,除非你明確指定了你想要的字段,否則沒有辦法。 like select a.id,a.title,a.desc from tablename a – Nagarjun
yes but then the id given an new name will also be called,so in my query if now now id-「old」and id-「新」。如我錯了請糾正我。 – magicianiam
你可以做'SELECT *,ID NEWNAME,othercol OTHERNAME'它會給你_duplicate_列,其中之一有你的'NEWNAME'別名,但總是建議在'SELECT'列表中明確顯示,而不是生產代碼中的'SELECT *'。 –
表沒有正常化嗎? –
這樣會給我的id和它的新名字?所以我可以在查詢中使用豁免不包含舊名稱? – magicianiam