모든 열 이름이 같은 6 개의 테이블이 있습니다. 이제 new = '1'인 테이블 만 선택하려고합니다. 예를 들어일부 열 이름이있는 둘 이상의 SQL 테이블 중에서 선택하십시오.
: 관리자가 자신의 서버에 새 동영상을 추가 할 때
이Table 1: 3d_movie
+----+------+-----+------+
| id | name | new | date |
+----+------+-----+------+
| 1 |name1 | 0 | 10.00|
| 2 |name1 | 0 | 10.00|
| 3 |name2 | 1 | 10.00|
+----+------+-----+------+
Table 2: english_movie
+----+------+-----+------+
| id | name | new | date |
+----+------+-----+------+
| 1 |name1 | 0 | 10.00|
| 2 |name1 | 1 | 10.00|
| 3 |name2 | 0 | 10.00|
+----+------+-----+------+
Table 3: hindi_movie
+----+------+-----+------+
| id | name | new | date |
+----+------+-----+------+
| 1 |name1 | 1 | 10.00|
| 2 |name1 | 0 | 10.00|
| 3 |name2 | 0 | 10.00|
+----+------+-----+------+
, 그가 선택한 새로운 = 클라이언트가 새 영화 페이지로 이동하면 그래서, 나는 모든 테이블 곳에서 모든 영화를 검색 할 (1) new = '1'.
나는 이러한 방법으로 시도했지만 당신은UNION
를 사용하여 SQL 쿼리를 프레임에가 ..
Tried 1: $result = mysqli_query($db,"SELECT * FROM 3d_movie,english_movie,hindi_movie WHERE 3d_movie.new='1' and english_movie.new='1' and hindi_movie.new='1 ORDER BY date DESC LIMIT 30");
Tried 2: $result = mysqli_query($db,"SELECT * FROM 3d_movie,english_movie,hindi_movie WHERE new='1' ORDER BY date DESC LIMIT 30");
당신은'UNION'을 찾고 있습니다; 하지만 너무 늦지 않으면 나는 당신의 테이블 구조를 바꿀 것입니다. 이름이 같지만 이름이 같은 6 개의 테이블은 필요하지 않습니다. 대신 하나의 표를 만들고 하나 이상의 열을 추가하여 다른 표에있는 내용을 구별하십시오. 원시적 인 예 : "3d", "english", "hindi"와 같은 문자열을 저장하는 "type"문자열; 더 좋은 예는'movies-table '테이블이'many-to-many' 관계에서'movie_movie_types' 테이블을 통해 참조하는'movies' 테이블이 당신이 "힌디어"와 " 3d ". – Uueerdo
첫 번째 테이블은 하나의 테이블에만 '새로운'레코드가 생기면 다른 레코드는 새로운 레코드가없고 아무것도 반환하지 않기 때문에 실패합니다. 왜냐하면'and'은 하나의 검사가 아니라 모든 검사에서 조건이 참이어야하기 때문입니다. 아마도 당신은 대신'또는'를 원할 것입니다. 그러나 그때조차도 테이블의 데카르트 제품 조인을하고 있으며 모든 종류의 결과를 얻을 수 있습니다. 'new'가 고유 한 식별자가 아니기 때문에 두 번째 것은 실패합니다. –
또한 왜 십진수 값을 저장하는'date' 필드가 있습니까 ??? – Uueerdo