약 200 개의 테이블이있는 데이터베이스가 있고 특정 열 (creation_date)을 포함하는 모든 테이블에 대해 쿼리를 수행해야하지만 모든 테이블에 해당 열이있는 것은 아닙니다. SELECT * FROM * WHERE creation_date>=42
은 분명히 작동하지 않지만 최선의 방법은 무엇입니까?(내) SQL : FROM 절의 와일드 카드?
답변
당신은 당신과 같이 조회 할 테이블을 포함하도록 시도 할 수 있습니다 :
SELECT * FROM table1 a, table2 b WHERE a.creation_date>=42
당신은에서 와일드 카드를 사용할 수 있습니다. 위와 같이 where 절을 적용해야하는 테이블을 지정할 수 있습니다. 칼럼이없는 것을 제외 할 수 있습니다.
예제 쿼리에서 table1 (별칭 a)에는 열이 있고 table2 (별칭 b)에는 없습니다.
이 명령문은 조인 조건이 제공되지 않으므로이 두 테이블간에 직교 좌표를 생성하므로 매우 위험합니다. 알맞은 크기의 테이블을 사용해도 큰 결과가 나올 것입니다 –
당신은 절대적으로 맞습니다 ...하지만 대답은 질문입니다. 그래도 좋은 의견! –
-1, 교차 결합이 아닌 공용체가 필요합니다. 'table1 union select f1 from table2 union select .... '에서 선택하십시오. – Johan
메타 데이터에서 동적 SQL 쿼리를 작성할 수 있습니다. 나는 접근 것 같은 :
- 테이블 각 테이블에 대해
- 의 목록을 가져, 테이블 열을
creation_date
- 이있는 경우가는이 테이블에 쿼리를 추가 할 경우
- 참조 동적 쿼리
- 연합 (EU)을 함께
결과는 또한 여러 테이블에 뷰를 생성 할 수 있습니다. 그런 다음보기를 쿼리 할 수 있습니다. MySQL의에서 직접 복사
SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT, TABLE_NAME,
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'tbl_name'
[AND table_schema = 'db_name']
[AND column_name ='creation_date']
- 당신은이 시스템 테이블을 통해 루프 필요 목록
다음 당신은 당신의 SQL 문을 구축하고 그들이 일을 확신 할 수 있습니다 ... 사람들을 포함 ...
- 1. IN 절의 와일드 카드
- 2. SQL 쿼리는 와일드 카드
- 3. Membership.FindUsersByEmail - SQL 와일드 카드
- 4. 안드로이드 : SQL rawQuery 와일드 카드 (%)
- 5. SQL 매개 변수의 와일드 카드
- 6. 와일드 카드
- 7. 와일드 카드
- 8. SQL 데이터베이스의 와일드 카드 별표 문자 ("*")
- 9. 특정 패턴을 제외하고 일치하는 SQL 와일드 카드
- 10. SQL Server 조인 및 와일드 카드
- 11. MySQL 와일드 카드 * 및 %
- 12. 드롭 데이터베이스 와일드 카드
- 13. Informix SQL 텍스트 Blob 와일드 카드 검색
- 14. apache cassandra에서 와일드 카드 검색을 수행하는 트릭이 있습니까? MYTABLE FROM
- 15. Java 와일드 카드 사용
- 16. SQL Server의 이스케이프 와일드 카드 (*) 기능 포함
- 17. SQL 쿼리는 와일드 카드, MS SQL 서버 2005
- 18. 자바 일반 와일드 카드
- 19. htaccess 와일드 카드 문제
- 20. Lucene 와일드 카드 쿼리
- 21. Mootools 와일드 카드 선택기
- 22. 와일드 카드 하위 도메인
- 23. Heroku에서 와일드 카드 SSL과 함께 와일드 카드 SSL 사용
- 24. 어떻게 와일드 카드
- 25. Solr의 와일드 카드 검색
- 26. 와일드 카드 제네릭
- 27. Lxml cssselect 와일드 카드
- 28. 업데이트에 와일드 카드 사용?
- 29. Jquery 와일드 카드 문자
- 30. CodeIgniter에서 와일드 카드 사용
쿼리 할 테이블을 명시 적으로 포함시켜야한다고 생각합니다 ... – Marco
달성하려는 대상은 정확히 무엇입니까? 해당 열을 포함하는 모든 테이블에서 모든 행 (조건과 일치)이 필요한 이유는 무엇입니까? 그게 아주 이상한 일처럼 들리네 –
중복 가능성 : http://stackoverflow.com/questions/639531/mysql-search-in-all-fields-from-every-table-from-a-database – reggie