Я не уверен, что я понимаю ваш вопрос, поскольку схема кажется странной.
Однако, это звучит, как вы хотите получить:
- Dropdown1: Показать jname где jcode является в j1 клетке в heardt
- Dropdown2: Показать jname где jcode находится в j2 клетки в heardt
- Dropdown3: Показать jname где jcode находится в j3 клетки в heardt
Чтобы сделать ваши запросы могут быть:
select jname, jcode
from heardt
inner join jud ON heardt.j1 = jcode
select jname, jcode
from heardt
inner join jud ON heardt.j2 = jcode
select jname, jcode
from heardt
inner join jud ON heardt.j3 = jcode
Альтернативы, которые могут вас заинтересовать, если вы хотите, чтобы для каждого heardt
строки и три jnames, которые соответствуют его вы могли бы сделать это:
select jud1.jname as jname1, jud2.jname as jname2, jud3.jname as jname3
from heardt
left join jud as jud1 on jud1.jcode = heardt.j1
left join jud as jud2 on jud2.jcode = heardt.j2
left join jud as jud3 on jud3.jcode = heardt.j3
Однако, лучшим решением было бы сделать таблицы, как это (выбрать лучший именование):
jud table
---------
jcode
jname
heardt table
------------
unsure on the purpose of this table
dropdown table (name this after whatever your dropdowns represent, maybe this is heardt)
----------
dropdownId
dropdownjuds table
-------------
dropdownId
jcode
Таким образом, вы могли бы сделать запрос, как показано ниже, и у ou не сохраняют столбец для выпадающего меню. Например, что, если вам вдруг понадобится j4
позже - с помощью этого метода вы можете просто добавить новый dropdown
и соответствующие записи в таблицу dropdownjuds
. Что делать, если выпадающие списки имеют неравномерные номера? В настоящее время я предполагаю использовать значения null, но зачем нужны столбцы j1
и j3
, если строка содержит только j2
? С предлагаемым дизайном вы обойдете это.
select jname
from dropdownjuds ddj
inner join jud on ddj.jcode = jud.jcode
where dropdownId = *
где * 1 для dropdown1, 2 для dropdown2 и т.д.
Спасибо. Я хочу точно, как вы поняли мой вопрос. – Ishan
В первом предположении для каждого запроса я могу использовать строку для хранения значения и передать его в Dropdownlist. Как сделать это для второго? – Ishan
Второй запрос не подходит для одного раскрывающегося списка - как вы знаете, правильно ли использовать «jname1» или «jname3», если вы не хотите специально связывать их со списками в неправильном коде. Я бы использовал первые запросы или мою предложенную ревизию схемы. –