How to data show Data Row Column in Postgresql?












1















Here is my data and query. I want row data show in columns... Can someone help me to modify the query? I am using PostgreSQL queries.



select 
ss.name, ip.product_name, ssr.quantity
from
services_servicerecipe ssr
inner join
services_service ss on ssr.service_id = ss.id
inner join
inventory_product ip on ssr.product_id = ip.id
order by
ss.name


Output:



Service_name |  Product_name    |  Quantity
-------------+------------------+-----------
Balayage | 7.3-revlon | 2
Balayage | 701-revlon | 1


I want it to look like this



Service_name |  Product_name     |   Quantity   |  Product_name    | Quantity
-------------+-------------------+--------------+------------------+----------
Balayage | 7.3-revlon | 2 | 701-revlon | 1









share|improve this question





























    1















    Here is my data and query. I want row data show in columns... Can someone help me to modify the query? I am using PostgreSQL queries.



    select 
    ss.name, ip.product_name, ssr.quantity
    from
    services_servicerecipe ssr
    inner join
    services_service ss on ssr.service_id = ss.id
    inner join
    inventory_product ip on ssr.product_id = ip.id
    order by
    ss.name


    Output:



    Service_name |  Product_name    |  Quantity
    -------------+------------------+-----------
    Balayage | 7.3-revlon | 2
    Balayage | 701-revlon | 1


    I want it to look like this



    Service_name |  Product_name     |   Quantity   |  Product_name    | Quantity
    -------------+-------------------+--------------+------------------+----------
    Balayage | 7.3-revlon | 2 | 701-revlon | 1









    share|improve this question



























      1












      1








      1








      Here is my data and query. I want row data show in columns... Can someone help me to modify the query? I am using PostgreSQL queries.



      select 
      ss.name, ip.product_name, ssr.quantity
      from
      services_servicerecipe ssr
      inner join
      services_service ss on ssr.service_id = ss.id
      inner join
      inventory_product ip on ssr.product_id = ip.id
      order by
      ss.name


      Output:



      Service_name |  Product_name    |  Quantity
      -------------+------------------+-----------
      Balayage | 7.3-revlon | 2
      Balayage | 701-revlon | 1


      I want it to look like this



      Service_name |  Product_name     |   Quantity   |  Product_name    | Quantity
      -------------+-------------------+--------------+------------------+----------
      Balayage | 7.3-revlon | 2 | 701-revlon | 1









      share|improve this question
















      Here is my data and query. I want row data show in columns... Can someone help me to modify the query? I am using PostgreSQL queries.



      select 
      ss.name, ip.product_name, ssr.quantity
      from
      services_servicerecipe ssr
      inner join
      services_service ss on ssr.service_id = ss.id
      inner join
      inventory_product ip on ssr.product_id = ip.id
      order by
      ss.name


      Output:



      Service_name |  Product_name    |  Quantity
      -------------+------------------+-----------
      Balayage | 7.3-revlon | 2
      Balayage | 701-revlon | 1


      I want it to look like this



      Service_name |  Product_name     |   Quantity   |  Product_name    | Quantity
      -------------+-------------------+--------------+------------------+----------
      Balayage | 7.3-revlon | 2 | 701-revlon | 1






      postgresql






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Jan 1 at 9:40









      marc_s

      576k12911111258




      576k12911111258










      asked Dec 31 '18 at 11:03









      Amna KalsoomAmna Kalsoom

      367




      367
























          1 Answer
          1






          active

          oldest

          votes


















          1














          Here is a pivot option, using ROW_NUMBER:



          with cte as (
          select ss.name, ip.product_name, ssr.quantity,
          row_number() over (partition by ss.name order by ip.product_name) rn
          from services_servicerecipe ssr
          inner join services_service ss on ssr.service_id = ss.id
          inner join inventory_product ip on ssr.product_id = ip.id
          )

          select
          name,
          max(case when rn = 1 then product_name end) as product1,
          max(case when rn = 1 then quantity end) as quantity1,
          max(case when rn = 2 then product_name end) as product2,
          max(case when rn = 2 then quantity end) as quantity2
          from cte
          group by name;





          share|improve this answer
























          • Thanks........................

            – Amna Kalsoom
            Dec 31 '18 at 11:31











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53986697%2fhow-to-data-show-data-row-column-in-postgresql%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          1














          Here is a pivot option, using ROW_NUMBER:



          with cte as (
          select ss.name, ip.product_name, ssr.quantity,
          row_number() over (partition by ss.name order by ip.product_name) rn
          from services_servicerecipe ssr
          inner join services_service ss on ssr.service_id = ss.id
          inner join inventory_product ip on ssr.product_id = ip.id
          )

          select
          name,
          max(case when rn = 1 then product_name end) as product1,
          max(case when rn = 1 then quantity end) as quantity1,
          max(case when rn = 2 then product_name end) as product2,
          max(case when rn = 2 then quantity end) as quantity2
          from cte
          group by name;





          share|improve this answer
























          • Thanks........................

            – Amna Kalsoom
            Dec 31 '18 at 11:31
















          1














          Here is a pivot option, using ROW_NUMBER:



          with cte as (
          select ss.name, ip.product_name, ssr.quantity,
          row_number() over (partition by ss.name order by ip.product_name) rn
          from services_servicerecipe ssr
          inner join services_service ss on ssr.service_id = ss.id
          inner join inventory_product ip on ssr.product_id = ip.id
          )

          select
          name,
          max(case when rn = 1 then product_name end) as product1,
          max(case when rn = 1 then quantity end) as quantity1,
          max(case when rn = 2 then product_name end) as product2,
          max(case when rn = 2 then quantity end) as quantity2
          from cte
          group by name;





          share|improve this answer
























          • Thanks........................

            – Amna Kalsoom
            Dec 31 '18 at 11:31














          1












          1








          1







          Here is a pivot option, using ROW_NUMBER:



          with cte as (
          select ss.name, ip.product_name, ssr.quantity,
          row_number() over (partition by ss.name order by ip.product_name) rn
          from services_servicerecipe ssr
          inner join services_service ss on ssr.service_id = ss.id
          inner join inventory_product ip on ssr.product_id = ip.id
          )

          select
          name,
          max(case when rn = 1 then product_name end) as product1,
          max(case when rn = 1 then quantity end) as quantity1,
          max(case when rn = 2 then product_name end) as product2,
          max(case when rn = 2 then quantity end) as quantity2
          from cte
          group by name;





          share|improve this answer













          Here is a pivot option, using ROW_NUMBER:



          with cte as (
          select ss.name, ip.product_name, ssr.quantity,
          row_number() over (partition by ss.name order by ip.product_name) rn
          from services_servicerecipe ssr
          inner join services_service ss on ssr.service_id = ss.id
          inner join inventory_product ip on ssr.product_id = ip.id
          )

          select
          name,
          max(case when rn = 1 then product_name end) as product1,
          max(case when rn = 1 then quantity end) as quantity1,
          max(case when rn = 2 then product_name end) as product2,
          max(case when rn = 2 then quantity end) as quantity2
          from cte
          group by name;






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Dec 31 '18 at 11:13









          Tim BiegeleisenTim Biegeleisen

          224k1391143




          224k1391143













          • Thanks........................

            – Amna Kalsoom
            Dec 31 '18 at 11:31



















          • Thanks........................

            – Amna Kalsoom
            Dec 31 '18 at 11:31

















          Thanks........................

          – Amna Kalsoom
          Dec 31 '18 at 11:31





          Thanks........................

          – Amna Kalsoom
          Dec 31 '18 at 11:31


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53986697%2fhow-to-data-show-data-row-column-in-postgresql%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Monofisismo

          Angular Downloading a file using contenturl with Basic Authentication

          Olmecas