1

I have the following tables:

machine_machine
id    |     machineid
1     |     EE100034442

item_item
id    |     upc    |    name
2     |    10001   |   Snickers

machine_setup
id    |  machine_id   |    selection    |   item_id
3     |     1         |       A1        |     1

Im trying to get the following output by joining the tables.

machine_setup.machine_id=machine_machine.machineid, machine_setup.selection, item_item.upc, item_item.name

EE100034442  A1  10001  Snickers

Table machine_setup will by the main referenced table as it has multiple selection for each machine_id.

2 Answers 2

1

Based on the only id's I can see at the moment to join on, consider this:

create table machine_machine
(   id int auto_increment primary key,
    machineid varchar(50) not null
);

create table item_item
(   id int auto_increment primary key,
    upc varchar(30) not null,
    name varchar(100) not null
);

create table machine_setup
(   id int auto_increment primary key,
    machine_id int not null,
    selection varchar(30) not null
);

insert machine_machine(machineid) values ('EE100034442');
insert item_item(upc,name) values ('10001','Snickers');
insert machine_setup(machine_id,selection) values (1,'A1'),(1,'A2'),(1,'A(n)');

select mm.machineid,ms.selection,ii.upc,ii.name 
from machine_setup ms 
join machine_machine mm 
on mm.id=ms.machine_id 
join item_item ii 
on ii.id=ms.machine_id;
+-------------+-----------+-------+----------+
| machineid   | selection | upc   | name     |
+-------------+-----------+-------+----------+
| EE100034442 | A1        | 10001 | Snickers |
| EE100034442 | A2        | 10001 | Snickers |
| EE100034442 | A(n)      | 10001 | Snickers |
+-------------+-----------+-------+----------+
Sign up to request clarification or add additional context in comments.

1 Comment

This seems to be what I was looking for. Thank you!
1

I'm not quite sure I understand the question, but the sql you want is like;

Select machine1.machineid, setup.Selection, item.upc, item.name
From Machine_machine machine1 --Set alias for the table
Inner Join machine_setup setup on setup.machine_id = machine1.id --This looks like a link table to me
Inner Join item_item item on setup.item_id = item.id -- in your example this wouldn't link as item_id is  1 in the machine_setup

In your example the machine_setup item_id is set to 1, which means it wouldn't link to the item_item table. i'm assuming this is a mistake. Let me know if you need more information.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.