모든 테이블의 구조는 동일한 열 이름입니다.Access Database의 모든 테이블에서 동일한 쿼리를 실행하는 방법은 무엇입니까?
UPDATE Table1 INNER JOIN TableX ON Table1.Column1= TableX.Column1 SET Table1.Column2 = TableX.Column2
하지만 모든 테이블에이 코드를 실행하고 싶습니다 : 여기
는 코드 표 2, 표 3, 표 4는 .... Table30모든 테이블의 구조는 동일한 열 이름입니다.Access Database의 모든 테이블에서 동일한 쿼리를 실행하는 방법은 무엇입니까?
UPDATE Table1 INNER JOIN TableX ON Table1.Column1= TableX.Column1 SET Table1.Column2 = TableX.Column2
하지만 모든 테이블에이 코드를 실행하고 싶습니다 : 여기
는 코드 표 2, 표 3, 표 4는 .... Table30내가 잘 이해한다면, 그건 그것은
SELECT AllTables.*
FROM AllTables
WHERE AllTables.ColumnName_X = AllTables.ColumnName_Y
는 아마도 생각 ... 당신을 위해 작동 UNION ALL
SELECT ColumnName_X
FROM table1
WHERE .....
UNION ALL
SELECT ColumnName_X
FROM table2
WHERE .....
귀하의 요구 사항이 명확하지 않습니다.
는 테이블리스트 및 특정 열 (COLUMNX)를 포함하는 스키마를 얻기 위해 다음의 쿼리를 사용
SELECT
sys.columns.name AS ColumnName,
sys.tables.name AS TableName,
schema_name (sys.tables.schema_Id) as schemaName
FROM
sys.columns
JOIN sys.tables ON
sys.columns.object_id = sys.tables.object_id
WHERE
sys.columns.name = 'ColumnName'
--and schema_name (sys.tables.schema_Id) = 'schemaName'
출력 (COLUMNX 경우 ID)
ColumnName TableName schemaName
ID MusicApp dbo
id employ dbo
는 ID 값을 얻을 #temptable에 출력 된 위의 쿼리를 저장하고 루프를 사용하여 동적으로 가져올 수 있습니다.
declare @tablename varchar(max)= ''
declare @count int = 1
declare @tablecount int= (select count(*) from #temptable)
while(@count <= @tablecount)
begin
set @tablename = (select tablename from #temptable where seqid = @count)
exec ('select id from '[email protected]+' ')
set @count = @count + 1
end
희망이 당신을 도울 것입니다 :)
다음과 같이하고 싶습니다. \t SELECT UNLINE ALL (테이블 1, 테이블 2, 테이블 3, 테이블 4) WHERE Column1 = Column2 또는 SELECT Column1 FROM sys.tables WHERE Column1 = Column2 –
사용자가 Access SQL 서버. –
대부분의 대답은 SQL 서버를 가정합니다.이 태그는이 질문의 일부가 아니며 작동하지 않습니다. 당신의 테이블이 table30에 표라는 이름의 경우
,이 작동합니다 :
Dim strSQL As String
Dim i As Integer
Dim strTable As String
For i = 1 To 10
strTable = "Table" & i
strSQL = "update " & strTable & _
" inner join TableX on " & strTable & ".column1 = TableX.Column1" & _
" SET " & strTable & ".Column2 = TaxbleX.Column2"
Debug.Print strSQL
CurrentDb.Execute strSQL
Next i
귀하의 요구 사항은 명확하지이며, 원하는 출력을 제공하시기 바랍니다. 아마도 귀하의 질문이 효과가없는 이유를 설명해주십시오. – Stephen
성취하려는 것을 설명 할 수 있습니까? –
예를 들어 50 개의 테이블이 있습니다. 각 테이블에는 모든 값을 표시하려는 ColumnName_X라는 동일한 열 이름이 있습니다. –