Etope
Etope

Reputation: 23

SQL Three Table Joins

I am trying to write some code using 3 tables that I have to query from a database, the following is how it's laid out:

TableA (ID, Number, Name, etc.)

TableB (ID, Order, TableA_ID, etc.)

TableC (ID, Order, Action, Device, TableB_ID, etc.) 

Now I need the values (TableB.Order, TableC.Order, TableC.Action, TableC.Device)

These values are determined from a user input which will take the value of TableA.Number (which has a unique ID TableA.ID).

Query = 
("SELECT TableB.Order, TableC.Order, 
         TableC.Action, TableC.Device  
    FROM TableC  
   INNER JOIN TableB  
      ON TableB.Id = TableC.TableB_Id  
   INNER JOIN TableA  
      ON TableA.Id = TableB.TableA_Id  
   WHERE TableA.Number  
    LIKE "USER INPUT") 

mycursor.execute(query)  
data = mycursor.fetchall()

Looking for any tips.

Upvotes: 2

Views: 36

Answers (1)

Md. Suman Kabir
Md. Suman Kabir

Reputation: 5453

The query should be written like below :

SELECT TableB.[Order] as TableB_Order, TableC.[Order] as TableC_Order, 
TableC.Action, TableC.Device
FROM TableA
INNER JOIN TableB ON TableA.Id = TableB.TableA_ID
INNER JOIN TableC ON TableB.Id = TableC.TableB_ID
WHERE TableA.Number LIKE '%USER INPUT%'

Upvotes: 2

Related Questions