2012-04-25 2 views
0

Я - общий MySql noob. У меня есть две таблицы, компьютер и техник. У компьютера есть внешний ключ techID, который связывает его с конкретной записью Technician и указывает, какой Technician последний обслуживал компьютер. В основном я хочу, чтобы последний техник обслуживал каждый компьютер.MySql-эквивалент цикла для каждого цикла

Я думал сделать что-то вроде:

SELECT techID FROM Computer 

Моя проблема заключается в том, что для каждого techID в моем наборе результатов, я хочу, чтобы захватить имя технического специалиста из техник таблицы и вернуться, что вместо этого. В основном, я задавался вопросом, как запросить и получить тот же результат, как что-то вроде:

results = SELECT techID FROM Computer 
for-each(r in results){ 
    SELECT name FROM Technician WHERE techID = r.techID 
} 
+0

этот вопрос звучит так, будто вы пытаетесь изучить SQL, просто «google, скопируйте код вставки и идите ...» ... По крайней мере, пройдете какой-нибудь базовый учебник, если не школьный курс. SQL нуждается в изменении мышления. – TMS

+0

Я вообще не пытаюсь изучать SQL. Я просто пытаюсь сделать одну простую задачу и сделать с ней. Я монгольский парень. –

+0

Этот комментарий похож на высказывание, что вы хотите умножить два числа, но вы не можете понять, как использовать калькулятор. Если бы SQL был похож на ракетную науку, я мог бы понять, что не хочу ее изучать, и если бы вы были новичком, я мог бы понять суть этого вопроса. Но суть вашего вопроса заключается не в том, что вы не знаете, как это сделать, а в том, что вы не хотите тратить время на выяснение (также известный как «TeH coDEZ»). Задача, как вы справедливо замечаете, проста, так почему бы просто не узнать, как это сделать? – toon81

ответ

2

Использовать JOIN:

SELECT  Computer.id, Technician.name 
FROM  Computer 
INNER JOIN Technician 
ON   Computer.techID = Technician.techID 

Это должно дать вам список всех компьютеров с соответствующими техником.

Смежные вопросы