2014-10-11 2 views
0

Я пытаюсь получить информацию от 2 таблиц с помощью запроса SQL ..SQL запросы - с подключением # базы данных (DataGrid)

SELECT Num_of_icon, ID_Radar, ID_Observer, 
     Longitude_Impact_point, Latitude_Impact_point, 
     Longitude_Impact_point_By_Cutting, Latitude_Impact_point_By_Cutting, 
     Deviation_In_Meters, 
     Longitude_Deviation, Latitude_Deviation, 
     Longitude, Latitude, Azimuth 
FROM ShowTable, Observer 
ORDER BY Num_of_icon ASC 

Num_of_icon является одним из ключевых в одной таблице.
ID_Observer является ключом во второй таблице и поле в первой таблице.

Ошибка:

Поле «ID_Observer» должно быть шоу в более чем одной таблицы.

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

ответ

0

Процессор запросов не знает, какие полей ID_Observer, которые он должен принять (и он не пытается определить, будут ли они всегда одинаковыми, независимо от того, из какой таблицы он его принимает). Таким образом, вы должны указать это, то следующий будет принимать значение ID_Observer из Observer таблицы:

"SELECT Num_of_icon,ID_Radar,Observer.ID_Observer,Longitude_Impact_point..." 
1

Вы должны квалифицироваться столбец с tablename.columnname, если столбец существует в двух таблицах. Вам также необходимо связать обе таблицы с помощью JOIN:

SELECT Num_of_icon, 
     ID_Radar, 
     SHowTable.ID_Observer, --<<< HERE 
     Longitude_Impact_point, 
     Latitude_Impact_point, 
     Longitude_Impact_point_By_Cutting, 
     Latitude_Impact_point_By_Cutting, 
     Deviation_In_Meters, 
     Longitude_Deviation, 
     Latitude_Deviation, 
     Longitude, 
     Latitude, 
     Azimuth 
FROM ShowTable 
INNER JOIN Observer 
    ON ShowTabl.ID_Observer = Observer.ID_Observer --<<< and HERE 
ORDER BY Num_of_icon ASC 
Смежные вопросы