Stephen Bouffe
Stephen Bouffe

Reputation: 517

INNER JOIN select columns from table2

How can I select certain columns from the second and third tables using INNER JOIN

SELECT 
    *
FROM
    1_packages_plu AS p
        INNER JOIN
    1_stock as s ON p.fk_products_id = s.fk_products_id
        AND branch = 1
        INNER JOIN
    1_products AS j ON p.fk_products_id = j.id
WHERE
    fk_packages_id = 54;

In the tables 1_stock I only want to return the value of stock-repair columns and in the 1_products all I need is make,model columns

Upvotes: 17

Views: 44978

Answers (3)

Grijesh Chauhan
Grijesh Chauhan

Reputation: 58291

You need (.) operator to access column:

SELECT 
    p.* , 
    s.stock-repair, 
    j.make, j.model
FROM
    1_packages_plu AS p
        INNER JOIN 1_stock as s 
          ON p.fk_products_id = s.fk_products_id
               AND branch = 1
        INNER JOIN 1_products AS j 
          ON p.fk_products_id = j.id
WHERE
    fk_packages_id = 54

ORDER BY p.colunmname 
;

Upvotes: 4

sanyam9999
sanyam9999

Reputation: 31

SELECT Table1.*, Table2.FK, Table2.SomeColumn, Table2.SomeColumn, Table3.SomeColumn, Table3.SomeColumn
FROM   
Table1 INNER JOIN
Table2 ON Table1.FK = Table2.Table1FK INNER JOIN
Table3 ON Table2.FK = Table3.Table2FK

Upvotes: 2

scragar
scragar

Reputation: 6824

SELECT
    p.* -- All columns from p
    ,
    s.columnName -- Just that column from s
    ,
    j.columnName -- And just that column from j

FROM
    1_packages_plu AS p

    INNER JOIN 1_stock as s
        ON p.fk_products_id = s.fk_products_id
        AND
        branch = 1

    INNER JOIN 1_products AS j
        ON p.fk_products_id = j.id

WHERE
    fk_packages_id = 54

Upvotes: 33

Related Questions