我想要在mysql中使用union时包含记录的表名。我想从该表中删除记录,否则我必须遍历所有表并找到记录并手动删除。
查询:
SELECT id FROM table1 WHERE cfid='2'
UNION
SELECT id FROM table2 WHERE ob_id='2'
UNION
SELECT id FROM table3 WHERE jid='2'
Run Code Online (Sandbox Code Playgroud)
在各个 SELECT 语句中包含一个鉴别器列,每个语句中都有一个不同的硬编码值。作为示例,我们src_
为每个查询添加一个名为的列...
SELECT '1' AS src_, foo FROM bar WHERE ...
UNION ALL
SELECT '2' AS src_, grumblestilt FROM skin WHERE ...
Run Code Online (Sandbox Code Playgroud)
我们可以使用该列中返回的值来确定哪个 SELECT 返回了特定行。
注意:如果我们不需要消除重复行,我们可以使用UNION ALL
集合运算符。该UNION
运算符将完成识别重复行并消除重复项的工作,以便我们得到包含唯一元组的结果集。
归档时间: |
|
查看次数: |
1071 次 |
最近记录: |