2015-03-18 2 views
0

У меня есть три таблицы.выберите несколько столбцов из нескольких таблиц, кроме определенных столбцов

Первая таблица, как:

+----+----+----+ 
| id | x | y | 
+----+----+----+ 

Второй и третий таблицы, как:

+----+----+----+----+----+----+----+----+----+----+----+----+ 
| id | Z1 | Z2 | Z3 | .. | .. | .. | .. | .. | .. | .. | Zn | 
+----+----+----+----+----+----+----+----+----+----+----+----+ 

n довольно большой, около 800-900.

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

И скелет запроса, как:

'SELECT a.*, b.*, c.* \ 
    FROM `test_xy` a, `test_1` b, `test_2` c \ 
    WHERE a.id = b.id AND b.id = c.id' 

Я беспокойство, результат с запросом включает в себя id поля три раза. Я хочу, чтобы поле id появлялось только один раз в начале результата.

я могу это сделать, нарезая таблицу результатов (на Python, MATLAB и т.д.)

Но есть лучший способ сделать это с большим количеством столбцов? Я имею в виду, можно ли на этапе запроса исключить поле второй и третьей таблиц id?

ответ

0

Ответ - синтаксис USING: кстати, MySQL определен. http://dev.mysql.com/doc/refman/5.5/en/join.html. Научитесь использовать JOINs, прежде чем делать что-либо еще; приведение условия jon в предложение where просто неверно.

SELECT a.*, b.*, c.* 
FROM `test_xy` a JOIN `test_1` b USING(`id) 
JOIN `test_2` c USING(`id) 
Смежные вопросы