2010-01-12 6 views
0

Хай ребята,MySQL объединить две таблицы, чтобы получить записи

У меня есть две таблицы InCharge и недвижимость. В моей таблице свойств есть три поля 1stIncharge, 2ndIncharge и 3rdIncharge. InchargeId устанавливается в качестве внешнего ключа для всех вышеуказанных полей в таблице свойств ..

Как написать оператор выбора, который соединяет обе таблицы .. Я пробовал немного, но не результат

select P.Id,P.Name,P.1stIncharge,P.2ndIncharge,P.3rdIncharge,I.Id from 
Property as P join Incharge as I where (\\How to give condition here \\) 

Ребят 3 поля P.1stIncharge, P.2ndIncharge, P.3rdIncharge имеет внешний ключ i.id

Edit:

select P.Id,P.Name,P.1stIncharge,P.2ndIncharge,P.3rdIncharge,I1.Id from 
Property as P 
inner join Incharge as I1 on I1.Id=P.1stIncharge 
inner join Incharge as I2 on I2.Id=P.2ndIncharge 
inner join Incharge as I3 on I3.Id=P.3rdIncharge 

and this query working 
+0

@Saranya: Если решение Codesleuth не то, что вы хотели, рассмотрите возможность редактирования своего вопроса и предоставления примерных данных о ожидаемых результатах. –

ответ

0

Я не уверен, о ваших иностранных имен ключей из обеих таблиц, но я думаю, что вы ищете это:

SELECT P.Id, P.Name, P.1stIncharge, P.2ndIncharge, P.3rdIncharge, I.Id 
FROM Property as P INNER JOIN Incharge as I ON P.InchargeId = I.Id 
+0

@Codesleuth 3 поля P.1stIncharge, P.2ndIncharge, P.3rdIncharge имеет внешний ключ I.Id – Saranya

+0

@Codesleuth нет поля под названием P.InchargeId – Saranya

+0

Извините, но ваш вопрос был немного расплывчатым. Я рад, что вы все разобрали. – Codesleuth

0

Если имена таблиц и столбцов правильно, ваше Предложенное решение выглядит нормально (я переформатирован его):

SELECT 
    P.Id, P.Name, P.1stIncharge, P.2ndIncharge, P.3rdIncharge, 
    I1.Id 
FROM Property AS P 
JOIN Incharge AS I1 ON (I1.Id = P.1stIncharge) 
JOIN Incharge AS I2 ON (I2.Id = P.2ndIncharge) 
JOIN Incharge AS I3 ON (I3.Id = P.3rdIncharge) 

Какая ошибка возникает у вас?

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