Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 在不更新任何表的情况下向列中临时添加逗号_Mysql_Sql - Fatal编程技术网

Mysql 在不更新任何表的情况下向列中临时添加逗号

Mysql 在不更新任何表的情况下向列中临时添加逗号,mysql,sql,Mysql,Sql,我有两个表,并使用了一个简单的查询: SELECT * FROM innerb where not exists (select * from wms where barcode = innerb.barcode) and pcode like '%102'; 我的结果如下: 我需要为所有值添加一个逗号,使其如下所示: 但我不想更新表,也不想创建新表,只想在几秒钟内添加它 有什么想法吗 SELECT pcode || ',' as pcode , brand || ','

我有两个表,并使用了一个简单的查询:

SELECT * FROM innerb where not exists 
   (select * from wms where barcode = innerb.barcode) and pcode like '%102';
我的结果如下:

我需要为所有值添加一个逗号,使其如下所示:

但我不想更新表,也不想创建新表,只想在几秒钟内添加它

有什么想法吗

SELECT pcode || ',' as pcode
     , brand || ',' as brand
  FROM table
编辑:仅适用于某些数据库。显然不是MYSQL(除非您将其配置为工作)。 有一个在哪个数据库上工作的列表

编辑:仅适用于某些数据库。显然不是MYSQL(除非您将其配置为工作)。
有一个可以创建视图的DB的工作列表:

CREATE VIEW innerb_comma AS
SELECT CONCAT(Pcode, ',') AS Pcode,
       CONCAT(Brand, ',') AS Brand,
       CONCAT(Pdescription, ',') AS Pdescription,
       CONCAT(Size, ',') AS Size,
       CONCAT(Barcode, ',') AS Barcode
FROM innerb
WHERE NOT EXISTS (SELECT * FROM wms WHERE barcode = innerb.barcode) 
  AND Pcode like '%102';
然后从中选择:

SELECT * FROM innerb_comma

您可以创建一个视图:

CREATE VIEW innerb_comma AS
SELECT CONCAT(Pcode, ',') AS Pcode,
       CONCAT(Brand, ',') AS Brand,
       CONCAT(Pdescription, ',') AS Pdescription,
       CONCAT(Size, ',') AS Size,
       CONCAT(Barcode, ',') AS Barcode
FROM innerb
WHERE NOT EXISTS (SELECT * FROM wms WHERE barcode = innerb.barcode) 
  AND Pcode like '%102';
然后从中选择:

SELECT * FROM innerb_comma


什么是视图?我可以看到,在屏幕左侧的导航器中,我的模式中有一个新视图。我该如何删除它呢?视图只允许您创建一种不同的方式来查看表中的数据。例如,您可以对其中的一些列求和,或者将它们相乘。它对实际的表没有影响。您可以使用
下拉视图innerb_逗号
将其删除。请参阅@Eduards,我已更正视图定义。由于您正试图将
条形码
wms
表中的值(该表没有添加逗号)进行比较,因此整个查询需要在视图中。我还添加了一个演示,他不需要该视图,他只需在该视图定义中执行嵌入式SQL,它就会返回他需要的内容。@LasseVågsætherKarlsen同意。如果OP需要多次执行查询,视图会使查询更容易。什么是视图?我可以看到,在屏幕左侧的导航器中,我的模式中有一个新视图。我该如何删除它呢?视图只允许您创建一种不同的方式来查看表中的数据。例如,您可以对其中的一些列求和,或者将它们相乘。它对实际的表没有影响。您可以使用
下拉视图innerb_逗号
将其删除。请参阅@Eduards,我已更正视图定义。由于您正试图将
条形码
wms
表中的值(该表没有添加逗号)进行比较,因此整个查询需要在视图中。我还添加了一个演示,他不需要该视图,他只需在该视图定义中执行嵌入式SQL,它就会返回他需要的内容。@LasseVågsætherKarlsen同意。如果OP需要多次执行查询,视图会使查询更容易。
|
是一个
,该如何添加逗号?而不是在SQL中。|基本上和CONCAT是一样的,只是更短,在我看来,更具可读性。在不同的数据库中可能会有所不同,但我认为这很常见。我在评论中链接了MySQL的文档,也在dbfiddle中尝试过,它的行为类似于OR。似乎Oracle和PostgreSQL
|
作为连接运算符,但OP使用MySQL接受的答案,其中声明了MySQL:concat(vararg函数)。注意:| |表示“逻辑或”。注意,您可以将MySQL配置为使用
|
作为concat操作符,但默认情况下它是
操作符
|
,这应该如何添加逗号?不是在SQL中基本上和CONCAT是一样的,只是更短,在我看来,更具可读性。在不同的数据库中可能会有所不同,但我认为这很常见。我在评论中链接了MySQL的文档,也在dbfiddle中尝试过,它的行为类似于OR。似乎Oracle和PostgreSQL
|
作为连接运算符,但OP使用MySQL接受的答案,其中声明了MySQL:concat(vararg函数)。注意:| |表示“逻辑或”。注意,您可以将MySQL配置为使用
|
作为concat操作符,但默认情况下它是
操作符