2016-02-24 3 views
1

Я хочу рассчитать значения двух элементов в двух таблицах. Например, у меня есть две следующие таблицы,Как выбрать два элемента из двух разных таблиц

Таблица А: (item_id, ITEM_PRICE, ITEM_DESCRIPTION)

Таблица B: (item_id, ITEM_COUNT, item_color)

И я хочу, чтобы вычислить , например:

item_price * item_count за все это item_id from A = item_id from B.

Как мне это сделать?

+0

Вы должны присоединиться к таблице A и таблица B – cha

ответ

1

Либо укажите ваше состояние в where:

SELECT A.item_id, A.item_price * B.item_count AS calculated 
FROM A, B 
WHERE A.item_id = B.item_id 

Или более ясно с join:

SELECT A.item_id, A.item_price * B.item_count AS calculated 
FROM A 
    JOIN B ON A.item_id = B.item_id 
+1

Пожалуйста, не учат людей, что старый синтаксис .. Придерживайтесь современного, явного синтаксиса JOIN. – jarlh

+0

Спасибо. Я просто пытаюсь дать OP понять логическое происхождение JOIN. Я знаю, что это не рекомендуется. –

2

попробовать этот

SELECT a.Item_Id AS Item, a.Item_Price * b.Item_Count AS Tot_Cost 
    FROM TableA a, TableB b 
      WHERE a.Item_Id = b.Item_Id; 

обор Регистрация:

SQL EQUI JOIN выполняет JOIN в отношении равенства или соответствия значений столбцов связанных таблиц. Знак равенства (=) используется в качестве оператора сравнения в предложении where для ссылки на равенство.

Вы также можете выполнить EQUI JOIN, используя ключевое слово JOIN, а затем ключевое слово ON, а затем указывая имена столбцов вместе со связанными с ними таблицами для проверки равенства.

Синтаксис:

SELECT column_list 
FROM table1, table2.... 
WHERE table1.column_name = 
table2.column_name; 

ИЛИ

SELECT * 
FROM table1 
JOIN table2 
[ON (join_condition)] 

Дальнейшее понимание см ниже ссылки.

http://www.tutorialspoint.com/sql/sql-using-joins.htm

http://www.w3schools.com/sql/sql_join.asp

+1

Пожалуйста, не учите людей, что старый синтаксис ... Придерживайтесь современного, явного синтаксиса 'JOIN' вместо этого. – jarlh

0
select a.item_price *b.item_count AS Value from A a,B b where a.item_id=b.item_id 
+2

Пожалуйста, не учите людей, что старый синтаксис ... Придерживайтесь современного, явного синтаксиса JOIN. – jarlh

0

оборудов пользователей присоединиться

select a.item_price *b.item_count AS 'Total Amount' from A a,B b where a.item_id=b.item_id 
+1

Пожалуйста, не учите людей, что старый синтаксис ... Придерживайтесь современного, явного синтаксиса JOIN. – jarlh