Question: It is said in the superset [documentation](https://superset.incubator.apache.org/faq.html#can-i-query-join-multiple-tables-at-one-time) that it is impossible to query/join multiple tables.

> 
> Can I query/join multiple tables at one time?  
> 
> Not directly no. A Superset SQLAlchemy datasource can only be a single table or a view.
> 
> 
> 

But from my experience I can do that without any problems. Is it outdated documentation, or something that I don't yet understand?

Answer: 
Thank you [WhozCraig](https://stackoverflow.com/users/1322972/whozcraig), [user3121023](https://stackoverflow.com/users/3121023/user3121023) for your advices, the whitespace in `scanf(" %c", &a[i]);` and `scanf(" %c", &ele);` make some unwanted inputs so this is a my code and its working like charm. :)) 

I just add space before the `%c` and every thing is okay.

```
#include<stdio.h>

int main () {
    int  num, i, j;
    char a[99], ele;

    printf("Enter the Character element:");
    // get the length of array by the num value
    scanf("%d", &num);

    printf("Enter the values: \n");
    // a loop for getting values for our a[array] line by line
    for ( i = 0 ; i < num ; i++ ) {
        // get value by index i for array a index by index
        printf("%d\t", (i+1));
        scanf(" %c", &a[i]);

    }

    printf("Enter the Character elements to be searched:");
    // get the value for ele, to use ele for searching inside our a[array]
    scanf(" %c", &ele);

    // we need to set i to 0 for our while loop
    j = 0;
    // use the while loop to
    while ( j < num && ele != a[j]) {
        j++;
    }
    if ( j < num ) {
        printf("Character found at the location = %d\n\n\n", j + 1);
    } else {
        printf("Character Not Found!\n\n\n");
    }
    return 0;

}

```
There is a problem in your program that causes surprising behavior:

* `scanf("%d", &num)` reads a number from standard input but leaves the newline typed by the user pending as the next character to be read.
* Further calls to `scanf("%c", &a[i]);` read this pending newline and `num-1` more characters from the user, leaving the rest of his input pending...
* The final `scanf("%c", &ele);` reads whatever byte is pending in stdin, either a character from the user or the pending newline.

Hence the program behaves as if it does not execute the last `scanf()`.

You should read input from the user one line at a time with `fgets()` or flush the pending newline with a loop:

```
#include <stdio.h>

int main() {
    int num, i, c;
    char a[99], ele;

    printf("Enter the number of character:");
    // get the length of array by the num value
    if (scanf("%d", &num) != 1 || num < 0 || num > 99)
        return 1;

    // consume the rest of the line typed by the user
    while ((c = getchar()) != EOF && c!= '\n')
        continue;

    printf("Enter the characters on a single line: \n");
    // a loop for getting values for our a[array]
    for (i = 0; i < num; i++) {
        if (scanf("%c", &a[i]) != 1)
            return 1;
    }

    // consume the rest of the line typed by the user
    while ((c = getchar()) != EOF && c!= '\n')
        continue;

    printf("Enter the character to be searched: ");
    // get the value for ele, to use ele for searching inside our a[array]
    if (scanf("%c", &ele) != 1)
        return 1;

    // consume the rest of the line typed by the user
    while ((c = getchar()) != EOF && c!= '\n')
        continue;

    // use a for loop
    for (i = 0; i < num && ele != a[i]; i++) {
        i++;
    }
    if (i < num) {
        printf("Character %c found at the offset %d\n\n\n", ele, i);
    } else {
        printf("Character %c Not Found!\n\n\n", ele);
    }
    return 0;
}

```