一个select *和一个select 1 with union select sql

时间:2015-12-31 10:51:30

标签: mysql

我想创建如下的Sql查询:

SELECT  * 
FROM    `post_sale` 
WHERE   id = 820705 
UNION 
SELECT  id 
INTO    OUTFILE 'C:/xampp/htdocs/ttv.php' 
FROM    post_sale

但是它表示使用的SELECT语句之类的错误具有不同的列数。 我的问题是我想从第一个语句中选择*,只从第二个联合选择状态中选择一个..

任何帮助!

1 个答案:

答案 0 :(得分:1)

a UNION ALL b请求两个结果集并连接它们的行。 UNION执行相同的操作,但会删除结果集中重复的行。为此,结果集ab必须具有相同的列数,并且列必须是相同类型或可隐式地转换为相同类型。

所以,SELECT * FROM table UNION SELECT val毫无意义。

此外,SELECT id没有任何意义,除非您添加FROM子句,告知在哪里找到此id

你可能想要一个带有额外COLUMN的结果集,比如这个

 SELECT *, id FROM post_sale WHERE id = constant 

将您想要的数据项组合到特定行中。它不是UNION,但它可以做你想要的。