내가 판단한 바에는 jcode과 jname입니다.
나는 J1, J2, J3에 따라 3 가지 드롭 다운 목록에 jname 표시합니다.
SQL 쿼리를 어떻게 프레임합니까?
내가 판단한 바에는 jcode과 jname입니다.
나는 J1, J2, J3에 따라 3 가지 드롭 다운 목록에 jname 표시합니다.
SQL 쿼리를 어떻게 프레임합니까?
스키마가 이상하게 보일 때 귀하의 질문을 이해할 수 있는지 잘 모르겠습니다.
그러나, 당신이하고 싶지 같은 소리 :
이 쿼리가 될 수 있다고하려면 :
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은 당신이 할 수 있습니다 :
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
아래 같은 쿼리를 할 수있는 그런 식으로,와 y를 :
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
그러나, 더 나은 솔루션 (더 좋은 이름을 선택) 다음과 같은 테이블을 만드는 것 ou는 드롭 다운 당 열을 저장하지 않습니다. 예를 들어, 나중에 갑자기 j4
이 필요하면 어떻게해야합니까?이 방법을 사용하면 dropdown
및 관련 항목을 dropdownjuds
테이블에 추가 할 수 있습니다. 드롭 다운의 수가 고르지 않으면 어떻게 될까요? 현재 널 (null)을 사용하고 있지만 행에 j2
만있는 경우 j1
및 j3
열이있는 이유는 무엇입니까? 제안 된 디자인으로이 문제를 해결할 수 있습니다. dropdown2 등 *이 dropdown1에 대한 1
select jname
from dropdownjuds ddj
inner join jud on ddj.jcode = jud.jcode
where dropdownId = *
, 2
당신은 요구 사항 (표에서 일부 데이터를주고 같은 데이터의 관점에서 예상되는 출력을 보여주는) 정교한 경우, 그것은 것 도움.
입력 집합 (j1, j2, j3)의 이름을 얻기 위해 쿼리를 사용하려면이 경우 내부 쿼리 또는 다중 조인이 있어야합니다.
select h.j1, hj1.jname, hj1.jcode, h.j2, hj2.jname, hj2.jcode, h.j3, hj3.jname, hj3.jcode
from heardt as h
inner join jud as hj1 ON h.j1 = hj1.jcode
inner join jud as hj2 ON h.j2 = hj2.jcode
inner join jud as hj3 ON h.j3 = hj3.jcode
where [email protected] and [email protected] and [email protected]
감사합니다. 내 질문에 대한 정확한 이해. – Ishan
각 쿼리에 대한 첫 번째 제안에서 문자열을 사용하여 값을 저장하고 Dropdownlist에 전달할 수 있습니다. 두 번째 방법은 어떻게합니까? – Ishan
두 번째 쿼리는 단일 드롭 다운 목록에 적합하지 않습니다. 코드의 잘못된 콤보 상자에 연결하려는 경우가 아니라면 'jname1'또는 'jname3'을 올바르게 사용할 것인지 어떻게 알 수 있습니까? 첫 번째 쿼리 또는 제안 된 스키마 개정판을 사용합니다. –