在SQL Server中,可以insert
使用SELECT
语句进入表:
INSERT INTO Table (col1, col2, col3)
SELECT col1, col2, col3
FROM other_table
WHERE sql = 'cool'
Run Code Online (Sandbox Code Playgroud)
是否也可以通过?更新SELECT
?我有一个包含值的临时表,并希望使用这些值更新另一个表.也许是这样的:
UPDATE Table SET col1, col2
SELECT col1, col2
FROM other_table
WHERE sql = 'cool'
WHERE Table.id = other_table.id
Run Code Online (Sandbox Code Playgroud) 我有不同列中的数据,但我不知道如何提取它以将其保存在另一个变量中.
index a b c
1 2 3 4
2 3 4 5
Run Code Online (Sandbox Code Playgroud)
我该如何选择'a'
,'b'
并保存到DF1?
我试过了
df1 = df['a':'b']
df1 = df.ix[:, 'a':'b']
Run Code Online (Sandbox Code Playgroud)
似乎没有工作.
我有一个带account numbers
和的数据库card numbers
.我将这些文件与update
任何卡号匹配到帐号,以便我只使用帐号.
我创建了一个视图链接表和帐户/卡数据库以返回Table ID
相关的帐号,现在我需要更新ID与帐号匹配的记录.
这是Sales_Import
表,account number
需要更新字段:
LeadID AccountNumber
147 5807811235
150 5807811326
185 7006100100007267039
Run Code Online (Sandbox Code Playgroud)
这是RetrieveAccountNumber
表,我需要更新:
LeadID AccountNumber
147 7006100100007266957
150 7006100100007267039
Run Code Online (Sandbox Code Playgroud)
我试过以下,但到目前为止没有运气:
UPDATE [Sales_Lead].[dbo].[Sales_Import]
SET [AccountNumber] = (SELECT RetrieveAccountNumber.AccountNumber
FROM RetrieveAccountNumber
WHERE [Sales_Lead].[dbo].[Sales_Import]. LeadID =
RetrieveAccountNumber.LeadID)
Run Code Online (Sandbox Code Playgroud)
它将卡号更新为帐号,但帐号被替换为 NULL
我的印象是,我可以通过执行此操作$(this).val();
并将onchange
参数应用于选择字段来获取选择输入的值.
它似乎只有在我引用ID时才有效.
我该怎么做呢.
如何使用jQuery选择第一个选项?
<select id="target">
<option value="1">...</option>
<option value="2">...</option>
</select>
Run Code Online (Sandbox Code Playgroud) 我需要一个select会返回如下结果:
SELECT * FROM MyTable WHERE Column1 CONTAINS 'word1 word2 word3'
Run Code Online (Sandbox Code Playgroud)
我需要所有结果,即这包括带有'word2 word3 word1'或'word1 word3 word2'的字符串或三者的任何其他组合.
所有单词都需要在结果中.
是否可以在不使用create table语句并指定每个列类型的情况下从select语句创建临时(仅会话)表?我知道派生表能够做到这一点,但那些是超临时的(仅限语句),我想重用.
如果我不必编写create table命令并保持列列表和类型列表匹配,那么可以节省时间.
我需要检查(从同一个表)基于日期时间的两个事件之间是否存在关联.
一组数据将包含某些事件的结束日期时间,另一组数据将包含其他事件的开始日期时间.
如果第一个事件在第二个事件之前完成,那么我想将它们链接起来.
到目前为止我所拥有的是:
SELECT name as name_A, date-time as end_DTS, id as id_A
FROM tableA WHERE criteria = 1
SELECT name as name_B, date-time as start_DTS, id as id_B
FROM tableA WHERE criteria = 2
Run Code Online (Sandbox Code Playgroud)
然后我加入他们:
SELECT name_A, name_B, id_A, id_B,
if(start_DTS > end_DTS,'VALID','') as validation_check
FROM tableA
LEFT JOIN tableB ON name_A = name_B
Run Code Online (Sandbox Code Playgroud)
那么,基于我的validation_check字段,我可以使用SELECT嵌套运行UPDATE查询吗?
我有一个存储过程返回80列和300行.我想写一个选择,获得其中2列.就像是
SELECT col1, col2 FROM EXEC MyStoredProc 'param1', 'param2'
Run Code Online (Sandbox Code Playgroud)
当我使用上面的语法时,我得到错误:
"无效的列名称".
我知道最简单的解决方案是更改存储过程,但我没有写它,我无法改变它.
有什么办法可以做我想要的吗?
我可以创建一个临时表来放置结果,但因为有80列所以我需要制作一个80列的临时表来获得2列.我想避免追踪返回的所有列.
我WITH SprocResults AS ....
按照马克的建议尝试使用,但我遇到了2个错误
关键字"EXEC"附近的语法不正确.
')'附近的语法不正确.
我尝试声明一个表变量,我得到以下错误
插入错误:列名或提供的值数与表定义不匹配
如果我尝试
SELECT * FROM EXEC MyStoredProc 'param1', 'param2'
我得到错误:
关键字'exec'附近的语法不正确.
我想知道以下内容:
我打算在我的(例如 - PHP)应用程序中使用它,但不想对数据库运行多个查询,我有什么选项可以从单个查询中的多个表中获取数据?
注意:我正在写这篇文章,因为我希望能够链接到我在PHP队列中经常遇到的众多问题的精心编写的指南,因此我可以在发布答案时链接到此以获取更多详细信息.
答案涵盖以下内容:
select ×10
sql ×4
mysql ×3
sql-server ×3
jquery ×2
sql-update ×2
t-sql ×2
create-table ×1
dataframe ×1
join ×1
pandas ×1
python ×1
temp-tables ×1