mysql循环查询

zhengyixin1202 2016-10-17 03:11:17
大家先请看以下sql代码
-------------------------------------------------------------------------------------------------------------------------------------------------------------

SELECT A.*, (
SELECT
CASE
WHEN tb2_1.Guidk IS NULL THEN
'false'
ELSE
'true'
END
FROM
ims_warehouseOperation AS tb1_1
LEFT JOIN ims_warehouseRights AS tb2_1 ON tb2_1.OGuidk = tb1_1.Guidk

WHERE
tb1_1.Guidk = 'bb71ffcf-1dff-40c9-94c3-60680b0bb427'
) AS 'w_1',
(
SELECT
CASE
WHEN tb2_1.Guidk IS NULL THEN
'false'
ELSE
'true'
END
FROM
ims_warehouseOperation AS tb1_1
LEFT JOIN ims_warehouseRights AS tb2_1 ON tb2_1.OGuidk = tb1_1.Guidk
AND tb2_1.WGuidk = A.Guidk
WHERE
tb1_1.Guidk = '2ad84691-5819-4a66-a47d-2833dc76ee72'
) AS 'w_1',
(
SELECT
CASE
WHEN tb2_1.Guidk IS NULL THEN
'false'
ELSE
'true'
END
FROM
ims_warehouseOperation AS tb1_1
LEFT JOIN ims_warehouseRights AS tb2_1 ON tb2_1.OGuidk = tb1_1.Guidk
AND tb2_1.WGuidk = A.Guidk
WHERE
tb1_1.Guidk = '41d36e8d-b45b-4ca7-a8d1-d5738fa49297'
) AS 'w_1',
(
SELECT
CASE
WHEN tb2_1.Guidk IS NULL THEN
'false'
ELSE
'true'
END
FROM
ims_warehouseOperation AS tb1_1
LEFT JOIN ims_warehouseRights AS tb2_1 ON tb2_1.OGuidk = tb1_1.Guidk
AND tb2_1.WGuidk = A.Guidk
WHERE
tb1_1.Guidk = '4faae2db-1cc0-4b33-adcc-1a81b8be8280'
) AS 'w_1',
(
SELECT
CASE
WHEN tb2_1.Guidk IS NULL THEN
'false'
ELSE
'true'
END
FROM
ims_warehouseOperation AS tb1_1
LEFT JOIN ims_warehouseRights AS tb2_1 ON tb2_1.OGuidk = tb1_1.Guidk
AND tb2_1.WGuidk = A.Guidk
WHERE
tb1_1.Guidk = '20737a56-f75c-4f21-b1cb-855620835e19'
) AS 'w_1'
FROM ims_warehouse AS A
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
程序主要想得到这样子的效果

可是这种写法mysql不支持,会报这样子的错误 1054 - Unknown column 'A.Guidk' in 'on clause'。求大神们帮我修改修改,谢谢!!
...全文
574 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
中国风 2016-10-17
  • 打赏
  • 举报
回复
e.g.

SELECT  A.* ,
        ifnull(( SELECT    CASE WHEN tb2_1.Guidk IS NULL THEN 'false'
                         ELSE 'true'
                    END
          FROM      ims_warehouseOperation AS tb1_1
                    LEFT JOIN ims_warehouseRights AS tb2_1 ON tb2_1.OGuidk = tb1_1.Guidk
          WHERE     tb1_1.Guidk = 'bb71ffcf-1dff-40c9-94c3-60680b0bb427'
                    AND tb2_1.WGuidk = A.Guidk limit 1
        ),'False') AS 'w_1' ,
       ifnull( ( SELECT    CASE WHEN tb2_1.Guidk IS NULL THEN 'false'
                         ELSE 'true'
                    END
          FROM      ims_warehouseOperation AS tb1_1
                    LEFT JOIN ims_warehouseRights AS tb2_1 ON tb2_1.OGuidk = tb1_1.Guidk
          WHERE     tb1_1.Guidk = '2ad84691-5819-4a66-a47d-2833dc76ee72'
                    AND tb2_1.WGuidk = A.Guidk limit 1
        ),'False') AS 'w_1' ,
        ifnull(( SELECT    CASE WHEN tb2_1.Guidk IS NULL THEN 'false'
                         ELSE 'true'
                    END
          FROM      ims_warehouseOperation AS tb1_1
                    LEFT JOIN ims_warehouseRights AS tb2_1 ON tb2_1.OGuidk = tb1_1.Guidk
          WHERE     tb1_1.Guidk = '41d36e8d-b45b-4ca7-a8d1-d5738fa49297'
                    AND tb2_1.WGuidk = A.Guidk limit 1
        ),'False') AS 'w_1' ,
        ifnull(( SELECT    CASE WHEN tb2_1.Guidk IS NULL THEN 'false'
                         ELSE 'true'
                    END
          FROM      ims_warehouseOperation AS tb1_1
                    LEFT JOIN ims_warehouseRights AS tb2_1 ON tb2_1.OGuidk = tb1_1.Guidk
          WHERE     tb1_1.Guidk = '4faae2db-1cc0-4b33-adcc-1a81b8be8280'
                    AND tb2_1.WGuidk = A.Guidk limit 1
        ),'False') AS 'w_1' ,
        ifnull(( SELECT    CASE WHEN tb2_1.Guidk IS NULL THEN 'false'
                         ELSE 'true'
                    END
          FROM      ims_warehouseOperation AS tb1_1
                    LEFT JOIN ims_warehouseRights AS tb2_1 ON tb2_1.OGuidk = tb1_1.Guidk
          WHERE     tb1_1.Guidk = '20737a56-f75c-4f21-b1cb-855620835e19'
                    AND tb2_1.WGuidk = A.Guidk  limit 1
        ),'False') AS 'w_1'
FROM    ims_warehouse AS A;
zhengyixin1202 2016-10-17
  • 打赏
  • 举报
回复
代码发错,是这段,报错误为1054 - Unknown column 'A.Guidk' in 'on clause' ------------------------------------------------------------------------------------------------------------------------------------------------------------ SELECT A.*, ( SELECT CASE WHEN tb2_1.Guidk IS NULL THEN 'false' ELSE 'true' END FROM ims_warehouseOperation AS tb1_1 LEFT JOIN ims_warehouseRights AS tb2_1 ON tb2_1.OGuidk = tb1_1.Guidk AND tb2_1.WGuidk = A.Guidk WHERE tb1_1.Guidk = 'bb71ffcf-1dff-40c9-94c3-60680b0bb427' ) AS 'w_1', ( SELECT CASE WHEN tb2_1.Guidk IS NULL THEN 'false' ELSE 'true' END FROM ims_warehouseOperation AS tb1_1 LEFT JOIN ims_warehouseRights AS tb2_1 ON tb2_1.OGuidk = tb1_1.Guidk AND tb2_1.WGuidk = A.Guidk WHERE tb1_1.Guidk = '2ad84691-5819-4a66-a47d-2833dc76ee72' ) AS 'w_1', ( SELECT CASE WHEN tb2_1.Guidk IS NULL THEN 'false' ELSE 'true' END FROM ims_warehouseOperation AS tb1_1 LEFT JOIN ims_warehouseRights AS tb2_1 ON tb2_1.OGuidk = tb1_1.Guidk AND tb2_1.WGuidk = A.Guidk WHERE tb1_1.Guidk = '41d36e8d-b45b-4ca7-a8d1-d5738fa49297' ) AS 'w_1', ( SELECT CASE WHEN tb2_1.Guidk IS NULL THEN 'false' ELSE 'true' END FROM ims_warehouseOperation AS tb1_1 LEFT JOIN ims_warehouseRights AS tb2_1 ON tb2_1.OGuidk = tb1_1.Guidk AND tb2_1.WGuidk = A.Guidk WHERE tb1_1.Guidk = '4faae2db-1cc0-4b33-adcc-1a81b8be8280' ) AS 'w_1', ( SELECT CASE WHEN tb2_1.Guidk IS NULL THEN 'false' ELSE 'true' END FROM ims_warehouseOperation AS tb1_1 LEFT JOIN ims_warehouseRights AS tb2_1 ON tb2_1.OGuidk = tb1_1.Guidk AND tb2_1.WGuidk = A.Guidk WHERE tb1_1.Guidk = '20737a56-f75c-4f21-b1cb-855620835e19' ) AS 'w_1' FROM ims_warehouse AS A
中国风 2016-10-17
  • 打赏
  • 举报
回复
语句要注意格式 改为


SELECT  A.* ,
        ( SELECT    CASE WHEN tb2_1.Guidk IS NULL THEN 'false'
                         ELSE 'true'
                    END
          FROM      ims_warehouseOperation AS tb1_1
                    LEFT JOIN ims_warehouseRights AS tb2_1 ON tb2_1.OGuidk = tb1_1.Guidk
          WHERE     tb1_1.Guidk = 'bb71ffcf-1dff-40c9-94c3-60680b0bb427' limit 1
        ) AS 'w_1' ,
        ( SELECT    CASE WHEN tb2_1.Guidk IS NULL THEN 'false'
                         ELSE 'true'
                    END
          FROM      ims_warehouseOperation AS tb1_1
                    LEFT JOIN ims_warehouseRights AS tb2_1 ON tb2_1.OGuidk = tb1_1.Guidk
                                                              
          WHERE     tb1_1.Guidk = '2ad84691-5819-4a66-a47d-2833dc76ee72' AND tb2_1.WGuidk = A.Guidk limit 1
        ) AS 'w_1' ,
        ( SELECT    CASE WHEN tb2_1.Guidk IS NULL THEN 'false'
                         ELSE 'true'
                    END
          FROM      ims_warehouseOperation AS tb1_1
                    LEFT JOIN ims_warehouseRights AS tb2_1 ON tb2_1.OGuidk = tb1_1.Guidk
                                                              
          WHERE     tb1_1.Guidk = '41d36e8d-b45b-4ca7-a8d1-d5738fa49297' AND tb2_1.WGuidk = A.Guidk limit 1
        ) AS 'w_1' ,
        ( SELECT    CASE WHEN tb2_1.Guidk IS NULL THEN 'false'
                         ELSE 'true'
                    END
          FROM      ims_warehouseOperation AS tb1_1
                    LEFT JOIN ims_warehouseRights AS tb2_1 ON tb2_1.OGuidk = tb1_1.Guidk
                                                              
          WHERE     tb1_1.Guidk = '4faae2db-1cc0-4b33-adcc-1a81b8be8280' AND tb2_1.WGuidk = A.Guidk limit 1
        ) AS 'w_1' ,
        ( SELECT    CASE WHEN tb2_1.Guidk IS NULL THEN 'false'
                         ELSE 'true'
                    END
          FROM      ims_warehouseOperation AS tb1_1
                    LEFT JOIN ims_warehouseRights AS tb2_1 ON tb2_1.OGuidk = tb1_1.Guidk
                                                              
          WHERE     tb1_1.Guidk = '20737a56-f75c-4f21-b1cb-855620835e19' AND tb2_1.WGuidk = A.Guidk limit 1
        ) AS 'w_1'
FROM    ims_warehouse AS A
;

22,302

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧