在一行中显示表数据

用户11797522

你好,我有一些用户表格,他们都链接到一个旅程,所以不是显示每个用户在他们自己的一行中的旅程的选择,我想选择用户在一行

我可以使用此代码在选择中显示所有信息,但不知道如何将其排成一行。

CREATE TABLE Journeys (
    `Journeypk` INT,
    `mempickuppoint` VARCHAR(6) CHARACTER SET utf8,
    `memdropoffpoint` VARCHAR(6) CHARACTER SET utf8,
    `dteestimatedarrival` DATETIME,
    `strreceivedby` VARCHAR(3) CHARACTER SET utf8
);
INSERT INTO Journeys VALUES
    (1,'london','berlin','2019-08-17 00:00:00','jay');

CREATE TABLE Journeypassengers (
    `passengerpk` INT,
    `Journeyfk` INT,
    `contactfk` INT
);
INSERT INTO Journeypassengers VALUES
    (1,1,1),
    (2,1,2),
    (3,1,3);

CREATE TABLE Contacts (
    `Contactpk` INT,
    `name` VARCHAR(5) CHARACTER SET utf8,
    `strreference` INT
);
INSERT INTO Contacts VALUES
    (1,'sam',12412),
    (2,'mark',7854674),
    (3,'chloe',568345);

CREATE TABLE Vulnerbilityflags (
    `Vulnerbilityflagspk` INT,
    `strflag` VARCHAR(39) CHARACTER SET utf8,
    `contactfk` INT
);
INSERT INTO Vulnerbilityflags VALUES
    (1,'DO NOT VISIT ALONE',2),
    (2,'Female Only',2),
    (3,'Learning Disabilities',1),
    (4,'Male Only',3),
    (5,'Physical Disabilities',1),
    (6,'Serious long term or terminally illness',3),
    (7,'Male Only',1);

CREATE TABLE Tenant (
    `Tenantpk` INT,
    `strstatus` VARCHAR(6) CHARACTER SET utf8,
    `contactfk` INT
);
INSERT INTO Tenant VALUES
    (1,'Active',1),
    (2,'Active',2),
    (3,'Active',3);

CREATE TABLE IF NOT EXISTS Tenancy (
    `Tenancypk` INT,
    `address` VARCHAR(25) CHARACTER SET utf8,
    `DtePlannedarrival` DATETIME,
    `dteRealarrival` VARCHAR(19) CHARACTER SET utf8,
    `dtePlannedDepartureDate` VARCHAR(19) CHARACTER SET utf8,
    `dteRealDepartureDate` VARCHAR(19) CHARACTER SET utf8,
    `tenantfk` INT
);
INSERT INTO Tenancy VALUES
    (1,'433 york road en57 7wj','2019-08-01 00:00:00','2019-08-01 00:00:00','2019-08-16 00:00:00','NULL',1),
    (2,'656 south street hg70 9qb','2019-08-01 00:00:00','2019-08-02 00:00:00','2019-08-16 00:00:00','NULL',2),
    (3,'6 mill road n9 6fg','2019-08-17 00:00:00','NULL','NULL','NULL',1),
    (4,'85 kings road nw2 1re','2019-08-17 00:00:00','NULL','NULL','NULL',2),
    (5,'9 grange road rg24 5aa','2019-08-17 00:00:00','NULL','NULL','NULL',3),
    (6,'7 fake street rg15 5aa','2019-07-01 00:00:00','2019-07-02 00:00:00','2019-07-30 00:00:00','2019-07-31 00:00:00',1);
Select Journeys.Journeypk,
       Journeys.mempickuppoint,
       Journeys.memdropoffpoint,
       Journeys.dteestimatedarrival,
       Journeys.strreceivedby,
       contacts.name,
       tenant.strstatus,
       tenancy.dtePlannedDepartureDate,
       contacts.strreference,
       V1.strflag,
       V2.strflag,
       V3.strflag,
       V4.strflag,
       V5.strflag,
       V6.strflag
from journeys
left join Journeypassengers on Journeypassengers.journeyfk = journeys.journeypk
left join contacts on contacts.contactpk = Journeypassengers.contactfk
left join tenant on tenant.contactfk = contacts.contactpk
left join tenancy on tenancy.tenantfk = tenant.tenantpk and tenancy.strstatus = 'Active'
left join Vulnerbilityflags as v1 on V1.contactfk = contacts.contactpk and v1.strflag = 'DO NOT VISIT ALONE' 
left join Vulnerbilityflags as v2 on v2.contactfk = contacts.contactpk and v2.strflag = 'Female Only'
left join Vulnerbilityflags as v3 on v3.contactfk = contacts.contactpk and v3.strflag = 'Learning Disabilities'
left join Vulnerbilityflags as v4 on v4.contactfk = contacts.contactpk and v4.strflag = 'Male Only'
left join Vulnerbilityflags as v5 on v5.contactfk = contacts.contactpk and v5.strflag = 'Physical Disabilities'
left join Vulnerbilityflags as v6 on v6.contactfk = contacts.contactpk and v6.strflag = 'Serious long term or terminally illness'

输出是这样的

    JourneyPK   memPickUpPoint  memDropOffPoint dteEstimatedArrival strReceivedBy   SU1 strStatus   dtePlannedDepartureDate SU1 Nass    SU1 V   SU1 V1  SU1 V2  SU1 V3  SU1 V4  SU1 V5  SU2 strStatus   dtePlannedDepartureDate SU2 NASS    SU2 V   SU2 V1  SU2 V2  SU2 V3  SU2 V4  SU2 V5  SU3 strStatus   dtePlannedDepartureDate SU3 NASS    SU3 V   SU3 V1  SU3 V2  SU3 V3  SU3 V4  SU3 V5
1   london  berlin  17/08/2019  jay sam active  16/08/2019  12412           Learning Disabilities   Male Only   Physical Disabilities       mark    active  16/08/2019  7854674     Female Only                 chloe   active      568345              Male Only       Serious long term or terminally illness

伊利亚扎哈罗夫

使用 pivot 和 unpivot 语句。选择看起来像这样:

SELECT *
FROM   (
            SELECT Journeypk,
                    mempickuppoint,
                    memdropoffpoint,
                    dteestimatedarrival,
                    strreceivedby,
                    det,
                    CAST(rn AS NVARCHAR(3)) + '_' + COL AS rr
            FROM   (
                        SELECT Journeys.Journeypk,
                                Journeys.mempickuppoint,
                                Journeys.memdropoffpoint,
                                Journeys.dteestimatedarrival,
                                Journeys.strreceivedby,
                                CAST(contacts.name AS NVARCHAR(100)) NAME,
                                CAST(tenant.strstatus AS NVARCHAR(100)) strstatus,
                                CAST(tenancy.dtePlannedDepartureDate AS NVARCHAR(100)) dtePlannedDepartureDate,
                                CAST(contacts.strreference AS NVARCHAR(100)) strreference,
                                CAST(Vulnerbilityflags.strflag AS NVARCHAR(100)) strflag,
                                ROW_NUMBER() OVER (ORDER BY journeys.Journeypk) AS rn
                        FROM   journeys
                                LEFT JOIN Journeypassengers
                                    ON  Journeypassengers.journeyfk = journeys.journeypk
                                LEFT JOIN contacts
                                    ON  contacts.contactpk = Journeypassengers.contactfk
                                LEFT JOIN tenant
                                    ON  tenant.contactfk = contacts.contactpk
                                LEFT JOIN tenancy
                                    ON  tenancy.tenantfk = tenant.tenantpk
                                LEFT JOIN Vulnerbilityflags
                                    ON  Vulnerbilityflags.contactfk = contacts.contactpk
                    ) AS t
                    UNPIVOT(
                        DET FOR COL IN (NAME, strstatus, dtePlannedDepartureDate, strreference, strflag)
                    ) AS h
        ) AS ttt
        PIVOT(
            MAX(det) FOR rr IN ([1_dtePlannedDepartureDate], [1_NAME], [1_strflag], [1_strreference], [1_strstatus], 
                                [2_dtePlannedDepartureDate], [2_NAME], [2_strflag], [2_strreference], [2_strstatus], 
                                [3_dtePlannedDepartureDate], [3_NAME], [3_strflag], [3_strreference], [3_strstatus], 
                                [4_dtePlannedDepartureDate], [4_NAME], [4_strflag], [4_strreference], [4_strstatus], 
                                [5_dtePlannedDepartureDate], [5_NAME], [5_strflag], [5_strreference], [5_strstatus], 
                                [6_dtePlannedDepartureDate], [6_NAME], [6_strflag], [6_strreference], [6_strstatus])
        ) AS pvt 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在rails中的一行中显示来自多个表的数据

来自分类Dev

AJAX 悬停工具提示仅显示表中第一行的返回数据

来自分类Dev

数据表未显示最后一行

来自分类Dev

数据表未显示最后一行

来自分类Dev

PHP数组显示表中的最后一行值

来自分类Dev

从R中的数据表中删除一行

来自分类Dev

如何在使用jQuery生成的数据表的最后一行中显示一列的总数?

来自分类Dev

如何显示表中的数据以及如何在Yii2中查询另一个表中的每一行数据

来自分类Dev

在唯一行中复制数据,改为显示空白

来自分类Dev

如何使用 .val() 从表中获取最后一行数据并使用 jquery 在警报中显示它?

来自分类Dev

从数据表中,每组随机选择一行

来自分类Dev

数据表中每一行的工具提示

来自分类Dev

从数据透视表中查找一行

来自分类Dev

在React的每一行中渲染表数据

来自分类Dev

同时将多个表中的数据放入一行

来自分类Dev

XSLT对一行中的表数据进行计数

来自分类Dev

选择一行并单击数据表中的按钮后,获取表行的行ID

来自分类Dev

将新行插入表中,但从表中的另一行复制数据

来自分类Dev

试图获取表数据以显示在两行而不是一行上

来自分类Dev

在分页jQuery数据表的最后一页上显示一行

来自分类Dev

SQL QUERY在一行中多次搜索以从同一表的另一行中查找数据

来自分类Dev

使用 Laravel 中同一表中另一行的数据更新行

来自分类Dev

SQL QUERY在一行中进行多次搜索以从同一表的另一行中查找数据

来自分类Dev

从数据表中选择一行以显示单选按钮值

来自分类Dev

水晶报表仅显示一行数据表

来自分类Dev

通过jQuery删除一行,如果表为空,如何显示“无数据”消息?

来自分类Dev

突出显示HTML表中的行(悬停在行和上一行上)

来自分类Dev

jQuery星级仅显示在第一行,而不是表中的所有行

来自分类Dev

如何在ssrs报告中仅显示表的行组的最后一行

Related 相关文章

  1. 1

    如何在rails中的一行中显示来自多个表的数据

  2. 2

    AJAX 悬停工具提示仅显示表中第一行的返回数据

  3. 3

    数据表未显示最后一行

  4. 4

    数据表未显示最后一行

  5. 5

    PHP数组显示表中的最后一行值

  6. 6

    从R中的数据表中删除一行

  7. 7

    如何在使用jQuery生成的数据表的最后一行中显示一列的总数?

  8. 8

    如何显示表中的数据以及如何在Yii2中查询另一个表中的每一行数据

  9. 9

    在唯一行中复制数据,改为显示空白

  10. 10

    如何使用 .val() 从表中获取最后一行数据并使用 jquery 在警报中显示它?

  11. 11

    从数据表中,每组随机选择一行

  12. 12

    数据表中每一行的工具提示

  13. 13

    从数据透视表中查找一行

  14. 14

    在React的每一行中渲染表数据

  15. 15

    同时将多个表中的数据放入一行

  16. 16

    XSLT对一行中的表数据进行计数

  17. 17

    选择一行并单击数据表中的按钮后,获取表行的行ID

  18. 18

    将新行插入表中,但从表中的另一行复制数据

  19. 19

    试图获取表数据以显示在两行而不是一行上

  20. 20

    在分页jQuery数据表的最后一页上显示一行

  21. 21

    SQL QUERY在一行中多次搜索以从同一表的另一行中查找数据

  22. 22

    使用 Laravel 中同一表中另一行的数据更新行

  23. 23

    SQL QUERY在一行中进行多次搜索以从同一表的另一行中查找数据

  24. 24

    从数据表中选择一行以显示单选按钮值

  25. 25

    水晶报表仅显示一行数据表

  26. 26

    通过jQuery删除一行,如果表为空,如何显示“无数据”消息?

  27. 27

    突出显示HTML表中的行(悬停在行和上一行上)

  28. 28

    jQuery星级仅显示在第一行,而不是表中的所有行

  29. 29

    如何在ssrs报告中仅显示表的行组的最后一行

热门标签

归档